Большая БД и Limit X,Y

12
siv1987
На сайте с 02.04.2009
Offline
427
#11
edogs:
Ужасный и избыточный вариант, с каких пор он стал классическим?
Первый запрос точно так же заставляет пройтись по всей базе как и заставил бы пройтись запрос со *.

Не знаю насколько он "избыточный", но у меня такой вариант работает с почти с полумиллионной таблицей так же шустро, как с одной десяткой тысяч. А вот с полным * - ложит сервер напрочь. Естественно на поля сортировки и условии стоят индексы.

TF-Studio
На сайте с 17.08.2010
Offline
334
#12

имеется база 30кк записей.

выборка

SELECT * FROM `table`

limit 20000000, 100

проблем особых не возникает.

Возможно:

1. дело в настройках мускуля

2. Все поля int (что как раз подходит для таблицы кеша ids в вашем случае)

3. myisam

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
humbert
На сайте с 16.03.2006
Offline
540
#13

TF-Studio, именно, что поля int, у меня записей намного меньше, около 200 к, но в каждой записи есть поля text, varchar, причем таких полей достаточно много и в каждом текста значительное количество. Вес таблицы около 500 Мб.

Парсинг прайс-листов, наполнение интернет-магазина товаром. (https://humbert.ru) Любая CMS (Битрикс, OpenCart, Prestashop и даже Woo Commerce )
TF-Studio
На сайте с 17.08.2010
Offline
334
#14

ну так может кеш-таблицу, где будут исключительно ID?

а вторым запросом брать нужное или обеденить.

Пробовать надо.

В теории - сложно.

humbert
На сайте с 16.03.2006
Offline
540
#15

TF-Studio,

humbert:
В общем сделал кеш (отдельную таблицу) под один запрос - время генерации упало в 10 раз, с 0.3 сек до 0.03.

Осталось сделать под остальные 10 запросов.
12

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