আমার কিছু নির্দিষ্ট ডাটাবেস ক্যোয়ারীতে পারফরম্যান্স সমস্যা রয়েছে যার বড় সম্ভাব্য ফলাফল সেট রয়েছে।
প্রশ্নে থাকা ক্যোয়ারী, AND
WHERE ধারাটিতে আমার তিনটি রয়েছে
ধারাগুলির আদেশের বিষয়টি কী বিবেচনা করে?
হিসাবে, যদি আমি ASI_EVENT_TIME ধারাটি প্রথমে রাখি (যেহেতু এটি কোনও দফার মধ্যে সর্বাধিক ফলাফল সরিয়ে ফেলবে।
এটি কি ক্যোয়ারির রান সময়কে উন্নত করবে?
প্রশ্ন:
SELECT DISTINCT activity_seismo_info.*
FROM `activity_seismo_info`
WHERE
activity_seismo_info.ASI_ACTIVITY_ID IS NOT NULL AND
activity_seismo_info.ASI_SEISMO_ID IN (43,44,...,259) AND
(
activity_seismo_info.ASI_EVENT_TIME>='2011-03-10 00:00:00' AND
activity_seismo_info.ASI_EVENT_TIME<='2011-03-17 23:59:59'
)
ORDER BY activity_seismo_info.ASI_EVENT_TIME DESC
ক্যোয়ারির ব্যাখ্যা:
+----+-------------+---------+-------+---------------------------+--------------+---------+------+-------+-----------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+---------+-------+---------------------------+--------------+---------+------+-------+-----------------------------+
| 1 | SIMPLE | act...o | range | act...o_FI_1,act...o_FI_2 | act...o_FI_1 | 5 | NULL | 65412 | Using where; Using filesort |
+----+-------------+---------+-------+---------------------------+--------------+---------+------+-------+-----------------------------+
ব্যবহার:
পিএইচপি 5.2
মাইএসকিউএল 5.0.51a-3ubuntu5.4
চালক 1.3
সিমফনি ২.২.২
order by
ডাটাবেসের অন্তর্গত।