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

Как да оптимизираме ORDER BY за изчислена колона в МАСИВНА MySQL таблица

Открих 2 (донякъде очевидни) неща, които помогнаха за ускоряване на тази заявка до задоволително ниво:

  1. Минимизирайте броя на редовете, които трябва да бъдат сортирани. Чрез използване на индекс в полето 'id' и подселекция за отрязване на броя на записите първо, сортирането на файлове в изчислената колона не е толкова лошо. Т.е.:

    SELECT t.value1, (t.value2 * an_arbitrary_float) as SCORE
    FROM (SELECT * FROM sometable WHERE id = 1) AS t 
    ORDER BY SCORE DESC
    
  2. Опитайте да увеличите sort_buffer_size в my.conf, за да ускорите сортирането на файлове.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Плъгини за интеграция на Eclipse/MySQL?

  2. Как да редактирате MySQL файла my.cnf

  3. Как мога да задам максимален брой редове в MySQL таблицата?

  4. Erlang emysql Проблем с кодирането на емоджи за iPhone

  5. org.hibernate.InstantiationException:Няма конструктор по подразбиране за обект::principal.Cliente