চ্যালেঞ্জগুলির জন্য সারণী তৈরি ও ব্যবহার সম্পর্কে কয়েকটি ধারণা:
1. এসকিউএল ইনপুট একটি প্রাক বিদ্যমান টেবিল মাধ্যমে নেওয়া যেতে পারে
কোড গল্ফ ইনপুট / আউটপুট পদ্ধতি :
এসকিউএলস একটি নামযুক্ত টেবিল থেকে ইনপুট নিতে পারে
ইনপুট মান সহ এই টেবিলটি তৈরি করা এবং পপুলেটিং করা আপনার বাইট মোটের সাথে গণনা করা যায় না, আপনি কেবল ধরে নিতে পারেন এটি ইতিমধ্যে রয়েছে।
এর অর্থ আপনার গণনাগুলি ইনপুট টেবিল থেকে সাধারণ নির্বাচন বাছাইয়ের মাধ্যমে আউটপুট দিতে পারে:
SELECT 2*SQRT(a)FROM t
২. যদি সম্ভব হয় তবে আসলে কোনও টেবিল তৈরি করবেন না
(69 বাইট) এর পরিবর্তে:
CREATE TABLE t(b INT)
INSERT t VALUES(7),(14),(21),(99)
SELECT b FROM t
শুধু (43 বাইট) করুন:
SELECT b FROM(VALUES(7),(14),(21),(99))t(b)
৩. যদি সম্ভব হয় তবে একটি নির্বাচন করে টেবিলটি তৈরি করুন
(39 বাইট) এর পরিবর্তে:
CREATE TABLE t(p INT)
INSERT t VALUES(2)
এটি করুন (17 বাইট):
SELECT 2 p INTO t
4: একসাথে একাধিক কলাম ম্যাসিং বিবেচনা করুন
এখানে দুটি ভিন্নতা যা একই আউটপুট ফেরত দেয়:
SELECT a,b FROM
(VALUES('W','Bob'),('X','Sam'),('Y','Darla'),('Z','Elizabeth'))t(a,b)
SELECT LEFT(a,1),SUBSTRING(a,2,99)FROM
(VALUES('WBob'),('XSam'),('YDarla'),('ZElizabeth'))t(a)
কিছু পরীক্ষার পরে, শীর্ষ সংস্করণ (একাধিক কলাম) 7 বা তার চেয়ে কম সারিগুলির সাথে সংক্ষিপ্ত বলে মনে হচ্ছে , নীচের সংস্করণটি (বাম এবং জমা দেওয়া কারণে) 8 বা ততোধিক সারিগুলির সাথে সংক্ষিপ্ত । আপনার সঠিক ডেটা নির্ভর করে আপনার মাইলেজ পরিবর্তিত হতে পারে।
5: পাঠ্যের খুব দীর্ঘ সিকোয়েন্সগুলির জন্য REPLACE এবং EXEC ব্যবহার করুন
আরামেড্রেইয়ের উত্তরের উত্তরের শিরাতে আপনার যদি 15 বা তার বেশি মান থাকে তবে উপাদানগুলির মধ্যে REPLACE
পুনরাবৃত্ত '),('
পৃথককারীদের থেকে মুক্তি পেতে একটি চিহ্ন ব্যবহার করুন :
১১৪ টি অক্ষর:
SELECT a FROM(VALUES('A'),('B'),('C'),('D'),('E'),('F'),('G'),('H')
,('I'),('J'),('K'),('L'),('M'),('N'),('O'))t(a)
১১২ টি অক্ষর:
DECLARE @ CHAR(999)=REPLACE('SELECT a FROM(VALUES(''
A-B-C-D-E-F-G-H-I-J-K-L-M-N-O''))t(a)','-','''),(''')EXEC(@)
আপনি যদি ইতিমধ্যে অন্যান্য কারণে (বা একাধিক প্রতিস্থাপন) জন্য ডায়নামিক এসকিউএল ব্যবহার করে থাকেন , তবে যে থ্রোসোল্ডটি এটির মূল্যবান তা অনেক কম।
6: ভেরিয়েবলগুলির একগুচ্ছের পরিবর্তে নামযুক্ত কলামগুলির সাথে একটি নির্বাচন করুন
এখানে জেএমল্টের দুর্দান্ত উত্তরে অনুপ্রাণিত হয়ে একটি নির্বাচন করে স্ট্রিংগুলি পুনরায় ব্যবহার করুন:
SELECT a+b+a+b+d+b+b+a+a+d+a+c+a+c+d+c+c+a+a
FROM(SELECT'Hare 'a,'Krishna 'b,'Rama 'c,'
'd)t
আয়
Hare Krishna Hare Krishna
Krishna Krishna Hare Hare
Hare Rama Hare Rama
Rama Rama Hare Hare
(জন্য মাইক্রোসফট এসকিউএল আমি পরিবর্তন \t
একটি ইন-লাইন রিটার্ন, এবং পরিবর্তিত CONCAT()
করা +
বাইট সংরক্ষণ করতে)।