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

Защо MySQL не използва оптимални индекси

Най-добрият индекс за вашата заявка е съставен индекс на (country, state, latitude, longitude) (country и state могат да бъдат разменени). MySQL има добра документация за индекси с няколко колони, която е тук .

По принцип latitude и longitude не са особено избирателни поотделно. За съжаление, стандартният индекс на B-дървото поддържа само едно неравенство, а вашата заявка има две.

Всъщност, ако искате ГИС обработка, тогава трябва да използвате пространствено разширение към MySQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да извикам MySQL съхранени процедури от Perl?

  2. Липсва mysql.sock; дава OperationalError:(2002, Не мога да се свържа с локален MySQL сървър чрез сокет '/tmp/mysql.sock' (2))

  3. Фатална грешка:Неуловено изключение „mysqli_sql_exception“ със съобщение „Не е използван индекс в заявката/подготвеното изявление“

  4. Динамично верижно поле за избор

  5. Mysql подобрява скоростта на SELECT