এটি কি একটি ভাল ধারণা / ভিউচারআর কলামকে সূচীকরণের জন্য পদ্ধতির?


32

আমরা PostgreSQL v8.2.3 ব্যবহার করছি।

এতে টেবিলগুলি জড়িত রয়েছে: EMPLOYEE এবং EMAILLIST

Table 1: EMPLOYEE (column1, column2, email1, email2, column5, column6)
Table 2: EMAILLIST (email)

2 টি টেবিল এমনভাবে যুক্ত হয়েছে যাতে EMPLOYEE.EMAIL1 বা EMPLOYEE.EMAIL2 এর কোনও মিল নেই তবে সেই সারিগুলি ফিরে আসবে।

SELECT employee.email1, employee.email2,
        e1.email IS NOT NULL AS email1_matched, e2.email IS NOT NULL AS email2_matched
   FROM employee
   LEFT JOIN emaillist e1 ON e1.email = employee.email1
   LEFT JOIN emaillist e2 ON e2.email = employee.email2
 WHERE e1.email IS NULL OR e2.email IS NULL

কলাম EMAILযা varchar (256) এর EMAILLISTটেবিল সূচীবদ্ধ করা হয়। এখন, প্রতিক্রিয়া সময় 14 সেকেন্ড।

সারণী গণনা পরিসংখ্যান: বর্তমানে, EMPLOYEE পেয়েছে 165,018 রেকর্ডস এবং ইমেলটি 1,810,228 রেকর্ড পেয়েছে এবং উভয় টেবিল ভবিষ্যতে বৃদ্ধি পাবে বলে আশা করা হচ্ছে।

  1. এটি কি একটি ভাল ধারণা / ভিউচারআর কলামকে সূচীকরণের জন্য পদ্ধতির? এই আবেদনটি সঙ্গে সঙ্গে আমার মনে আঘাত হ্রাস করেছে কারণ আমাদের আবেদনের আগে আমরা কোনও ভোরচার কলাম সূচীকরণ করি নি। এতে বিশেষজ্ঞদের পরামর্শ / পরামর্শ অত্যন্ত প্রশংসা করা হয়।
  2. এই বর্তমান ক্যোয়ারী এবং সূচকের সাথে, 14 সেকেন্ডের প্রতিক্রিয়া সময়টি যুক্তিসঙ্গত বা আরও টিউন করার কোনও সুযোগ আছে? এই জাতীয় সারণী আকার এবং প্রতিক্রিয়া সময়ের উপর ভিত্তি করে অন্যান্য ব্যবহারকারীর রিয়েল-টাইম অভিজ্ঞতা / মতামত কী?

দ্রষ্টব্য: আমার প্রকৃত প্রয়োজনীয়তা / ব্যবহারের বিষয়টি এখানে বিশদে বিশদভাবে ব্যাখ্যা করা হয়েছে

উত্তর:


25

আপনি যদি এর উপর ভিত্তি করে কোয়েরি করে চলেছেন তবে কোনও ভারচার কলামটি সূচীকরণের সাথে কোনও ভুল নেই। তবে দয়া করে মনে রাখবেন যে কিছু সূচকের সীমাবদ্ধতা রয়েছে এবং তারা একক ক্ষেত্রে কতটা সূচক করতে পারে। উদাহরণস্বরূপ আপনি এমন কলামকে সূচি করতে পারবেন না যাতে সীমাহীন পরিমাণে পাঠ্য থাকতে পারে। তবে আপনার ইস্যু ছাড়াই ভারচার (256) এ একটি সূচক করতে সক্ষম হওয়া উচিত। এটি ব্যবহার করে দেখুন এবং আপনার ক্যোয়ারী পারফরম্যান্সের উন্নতিগুলি বিশ্লেষণ করুন এটি সহায়তা করে কিনা।


আপনার মূল্যবান মন্তব্যের জন্য ধন্যবাদ। 14 সেকেন্ড থেকে প্রতিক্রিয়া সময় কমাতে এই বিষয়ে আমার প্রশ্নের আরও সুর করার কোনও সুযোগ আছে কি?
জ্ঞানাম

2
এক্সপ্লেইনের ফলাফল ছাড়া, কীটি অনুকূল করা যায় তা বলা অসম্ভব। সংস্করণ 8.2.3 এছাড়াও পুরানো, আপনার একটি নতুন সংস্করণে আপগ্রেড করা উচিত, আপনি রক্ষণাবেক্ষণে 4 বছর পিছনে রয়েছেন। 8.3, 8.4 এবং 9.0 সংস্করণগুলি অনেক পরিস্থিতিতে দ্রুত হয়। আরও ভাল পরিসংখ্যান কর্মক্ষমতা অর্জনে সহায়তা করে।
ফ্রাঙ্ক হিকেন্স

5

কোনও ভার্চার কলামকে এর সাথে সূচি দেওয়ার কোনও সমস্যা নেই

এটি যখন ইস্যুতে পরিণত হতে পারে তখন যখন আপনার কাছে বিলিয়ন সারি সারণীতে এফকে হিসাবে ভারচার কলাম থাকে। এরপরে আপনার কাছে পিকে এবং এফকে-র জন্য একটি সরোগেট কী থাকবে তবে প্রাকৃতিক ভারচার কীতে আপনার এখনও একটি অনন্য বাধা / সূচক দরকার।

আপনার টেবিলগুলি বেশ ছোট এবং পারফরম্যান্সটি ওআর ক্লজের সাথে সম্পর্কিত হতে পারে। দুর্ভাগ্যক্রমে, একইভাবে আপনি কীভাবে ক্যোয়ারীটি কাঠামো করেন তা প্রয়োগ করা হয় না (এবং পোস্টগ্র্রেসএসকিউএল-র সাথে আমি দুঃখিত হবার জন্য যথেষ্ট পরিচিত নই)


0

আপনার ক্যোয়ারির "OR e2.email is NULL" অংশটি থেকে মুক্তি পাওয়ার চেষ্টা করুন এবং দেখুন এটি কত দ্রুত চলে। যদি এটি দ্রুত চালিত হয় তবে আপনি এটি "ইউনিয়ন সমস্ত" এর সাথে দ্রুত চালাতে সক্ষম হতে পারেন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.