Мы протестировали по 1 миллиону записей в каждой таблице, результаты были хорошими, всегда ниже 0,08.Таким образом, мы внедрили на нашем сервере, но это очень медленно там, занимает до 36 секунд.
Мы попросили помощи, прежде чем оптимизировать запрос, который мы выполняли на нашей тестовой машине, мы подробно описали базовую структуру нашегоотношение один ко многим: Проблемы с оптимизацией структуры больших запросов и таблиц
Это последний запрос, который мы используем после получения справки по ссылке выше:
explain
SELECT
st.sid, st.title, st.summary, st.storynotes, st.thumb, st.completed, st.wordcount, st.rid, st.date, st.updated,
stats.total_reviews, stats.total_recommendations,
(SELECT GROUP_CONCAT(CAST(catid AS CHAR)) FROM fanfiction_stories_categories WHERE sid = st.sid) as categories,
(SELECT GROUP_CONCAT(CAST(genre_id AS CHAR)) FROM fanfiction_stories_genres WHERE sid = st.sid) as genres,
(SELECT GROUP_CONCAT(CAST(warning_id AS CHAR)) FROM fanfiction_stories_warnings WHERE sid = st.sid) as warnings
FROM
fanfiction_stories st
LEFT JOIN fanfiction_stories_stats stats ON st.sid = stats.sid
JOIN fanfiction_stories_categories cat ON st.sid = cat.sid AND cat.catid = 924
WHERE validated = 1
ORDER BY updated DESC
LIMIT 0, 15
Это объяснение:
http://dl.dropbox.com/u/14508898/Printscreen/stackoverflow_explain_print_003.PNG
0 строк затронуто, найдено 6 строк.Длительность 1 запроса: 31 356 сек.
Обновлено
Мы удалили некоторые старые индексы предыдущей структуры БД, которые были в fanfiction_stories, и добавили новые индексы в fanfiction_stories_categories, теперь намного быстрееВот обновленное объяснение:
http://dl.dropbox.com/u/14508898/Printscreen/stackoverflow_explain_print_004.PNG
Извините, программа, которую я использую, только форматирует таблицу объяснения как HTML, CSV и т. Д., Не создает таблицу ASCII для отображения здесь.
Можем ли мы оптимизировать его еще больше?Любая помощь очень ценится.