mysql база 20 000 000 записей

12
I
На сайте с 23.12.2010
Offline
25
#11
mmtgas:
Да, индексы ето чудо! Все выводится моментально, вот только пришлось сменить в запросах limit на условие больше start и меньше start+10 иначе лимит- тормозит страшно

и очень правильно, в полном соответствии с теорией множеств, в которой where есть, а вот limit - нету

Dreammaker
На сайте с 20.04.2006
Offline
569
#12
Prishelec:
Настройте вывод результата в отдельную таблицу

чем это лучше файлового кеша или кеша в памяти?

p.s. под отключению индексов не спорю - сам в одном проекте использовал, правда, не совсем уверен, что вы говорите о том же, а не просто неиспользованию индексов по причине не понимания их работы.

[Удален]
#13

Я говорил про то, что если выбирать записи так:

// Выбираем $num сообщений начиная с номера $start

$result = mysql_query("SELECT * FROM post LIMIT $start, $num");

то ето не реально долго, я так и не дождался окончания.

А вот если

$result = mysql_query("SELECT * FROM post WHERE id>100 and id <110

то так все делается моментально, на глаз даже не заметно, размер базы из 100 записей или 10млн

SD
На сайте с 08.12.2011
Offline
5
#14

Судя по документации LIMIT с OFFSSET-ом тупо отбрасывает ненужные записи по очереди не возвращая на клиент, причем индексы не используются. Так что действительно, если возможно написать условие WHERE - то это выход.

LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#15
$result = mysql_query("SELECT * FROM post WHERE id>100 and id <110

Если только ID у вас по порядку, а если удалите в серединке, то нужно будет их пересчитывать.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
[Удален]
#16

индексы рулят, тоже проставил только что и тормознутый dle превратился в самолет =)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий