এই প্রশ্নটি আমার পুরানো প্রশ্নের সাথে সম্পর্কিত । নীচের ক্যোয়ারীটি কার্যকর করতে 10 থেকে 15 সেকেন্ড সময় নিয়েছিল:
SELECT [customer].[Customer name],[customer].[Sl_No],[customer].[Id]
FROM [company].dbo.[customer]
WHERE (Charindex('123456789',CAST([company].dbo.[customer].[Phone no] AS VARCHAR(MAX)))>0)
কিছু নিবন্ধে আমি দেখেছি যে ব্যবহার করে CASTএবং CHARINDEXসূচীকরণ থেকে কোনও উপকার হবে না। এছাড়াও কিছু নিবন্ধ আছে যা বলেছে যেগুলি ব্যবহারের LIKE '%abc%'সময় সূচীকরণের ফলে কোনও লাভ হবে না LIKE 'abc%':
http://bytes.com/topic/sql-server/answers/81467- using-charindex-vs- Like- कहीं /programming/ -একটি-প্রশ্নের http://www.sqlservercentral.com/Forums/Topic186262-8-1.aspx#bm186568
আমার ক্ষেত্রে আমি ক্যোয়ারীটি আবার লিখতে পারি:
SELECT [customer].[Customer name],[customer].[Sl_No],[customer].[Id]
FROM [company].dbo.[customer]
WHERE [company].dbo.[customer].[Phone no] LIKE '%123456789%'
এই কোয়েরিটি আগেরটির মতো একই আউটপুট দেয়। আমি কলামের জন্য একটি অবিবাহিত সূচক তৈরি করেছি Phone no। আমি যখন এই কোয়েরিটি সম্পাদন করি এটি মাত্র 1 সেকেন্ডে চলে । এটি আগের 14 সেকেন্ডের সাথে তুলনা করে একটি বিশাল পরিবর্তন ।
LIKE '%123456789%'ইনডেক্সিং থেকে কীভাবে উপকার পাবেন?
তালিকাভুক্ত নিবন্ধগুলি কেন বলছে যে এটির কার্যকারিতা উন্নতি হবে না?
আমি কোয়েরিটি ব্যবহার করতে আবার লিখতে চেষ্টা করেছি CHARINDEX, তবে কর্মক্ষমতা এখনও ধীর। কেন জিজ্ঞাসাটি CHARINDEXযেমন প্রকাশিত হয় ততই সূচিকাগুলি থেকে কেন উপকৃত হয় না LIKE?
ব্যবহার করে জিজ্ঞাসা করুন CHARINDEX:
SELECT [customer].[Customer name],[customer].[Sl_No],[customer].[Id]
FROM [Company].dbo.[customer]
WHERE ( Charindex('9000413237',[Company].dbo.[customer].[Phone no])>0 )
হত্যা পরিকল্পনা:

ব্যবহার করে জিজ্ঞাসা করুন LIKE:
SELECT [customer].[Customer name],[customer].[Sl_No],[customer].[Id]
FROM [Company].dbo.[customer]
WHERE[Company].dbo.[customer].[Phone no] LIKE '%9000413237%'
হত্যা পরিকল্পনা:
