Азбука/mysql
Материал из Etersoft wiki
Версия от 00:21, 15 июля 2013; ВиталийЛипатов (обсуждение | вклад) (Новая страница: «Добавленные индексы к таблицам, запросы по которым выполнялись перебором: == azbyka_znakomstv == …»)
Добавленные индексы к таблицам, запросы по которым выполнялись перебором:
azbyka_znakomstv
Потребовался отдельный индекс к data SELECT * FROM a_dnevnik_comments GROUP BY did ORDER BY data DESC LIMIT 0,30; userid: DELETE FROM `vb_session` WHERE `userid` = 24081; up & data: SELECT * FROM a_dnevnik ORDER BY up DESC, data DESC LIMIT 0,20; Добавлен uid: SELECT count(*) FROM a_stat WHERE uid='64346'; Не помогает: lastactivity (возможно, слишком мало строк для этого): DELETE FROM `vb_session` WHERE `lastactivity` < 1373826260; toid: SELECT * FROM a_prim WHERE moder > 0 AND toid = '69518'; ignorid: SELECT userid FROM a_users_ignored WHERE ignorid=62227; toid: SELECT * FROM a_logs WHERE toid='59169'; enabled: SELECT COUNT(*) FROM a_users WHERE enabled=1
Оставшиеся проблемы
Ему ничего не помогает (С SELECT MY_SQL_NOCACHE выполняется 1.5-2 сек) SELECT * FROM a_dnevnik_comments GROUP BY did ORDER BY data DESC LIMIT 0, 20 SELECT COUNT(DISTINCT did) FROM a_dnevnik_comments; Не использует индекс DELETE FROM a_podarki WHERE uid='Array' OR fromid='62791'; (и мне кажется, в последнем запросе ошибка при заполнении сравнения с uid возможно запрос с ошибкой: SELECT * FROM a_dnevnik_subscribe WHERE did='67213' AND '27197';
azbyka_parkhomen
добавлен prior: SELECT * FROM `fotor` WHERE reportid=221 ORDER BY prior LIMIT 0,1; и reportid: SELECT * FROM `fotor` WHERE `visible`=1 AND `reportid`=46 ORDER BY prior;