Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL не използва индекс за ORDER BY

Тъй като трябва да зареди цялата таблица, за да отговори на заявката, а сортирането на 4 елемента е евтино, оптимизаторът на заявки може просто да избягва докосването на индекса. Все още ли се случва с по-големи маси?

Обърнете внимание, че колона varchar(3000) не може да бъде покриващ индекс, тъй като MySQL няма да включва повече от първите 768 или така байта от varchar в индекс.

Ако искате заявката да чете само индекса, индексът трябва да има всяка колона, която сте SELECT за в него. В innodb това трябва да започне да работи за вашата таблица с две колони, след като направите textcol достатъчно малък; в MyISAM ще трябва сами да включите колоната с първичен ключ, като CREATE INDEX textcolindex ON test (textcol,id);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разлика между SET autocommit=1 и START TRANSACTION в mysql (Пропуснал ли съм нещо?)

  2. Въпрос на дизайн:как да покажа броя на потребителите онлайн?

  3. MySQL Query изглежда не дава очаквания

  4. как да работя с рекурсивна заявка в MySql?

  5. Вмъкнете масив от записи в mysql с Node JS