Другие языки программирования и технологии

Вопрос по БД (интернет магазин)

Такой вопрос, я делаю интернет магазин, в таблице бд (mysql) будет около 10000 товаров, справиться ли бд с такой нагрузкой. Долго ли будет грузиться (в таблице 13 полей)
Конечно загрузка такого кол-ва товаров будет помедленнее чем 1000 товаров. Но для баз данных это семечки.
Они ориентированы на обработку миллионов и сотен миллиардов строк.. .
Для этого у вас должны быть индексы
- всех колонок с Primary Key
- всех колонок где вы делаете отбор по условию WHERE
- индексы внешних ключей
- может быть что-то ещё, время покажет.

И напоследок.. . суть SQL не в том чтобы вы им руководили. SQL cервер сам выбирает алгоритм по которому производит отбор данных. Это значит что вы должны кидать ему предельно тупые простые запросы. Не надо кидать запрос типа
select * from table1 where id in (1,2,3,4,5,6,67,43,435,453,43,58,54,543,543,5,435,33,44,43).
Киньте
select * from table1 where id in (select id from table2 where ...)
и он вас лучше поймет.

При работе с SQL может показаться что сложный запрос работает быстрее простого. Потому что выполняется не запрос а план запроса. План запроса сервер вычисляет приблизительно на основании анализа размера таблиц и ранее полученных результатов. Может быть ваш запрос вовсе не будет выполняться и возьмется кэшированный результат. В этом основное отличие SQL от плоских таблиц типа Excel, Access и DBF.

старайтесь извлекать все данные за 1 запрос, делайте JOIN и фильтруйте через WHERE. Не допускайте применение SELECT оператора в цикле. Изучите как использовать параметрические запросы.
Дим Исхаков
Дим Исхаков
10 716
Лучший ответ
Кенешбек Акматов Спасибо, огромное, от души)
Все будет зависить от того, что грузить, как грузить и какова скорость соединения.
если делать SELECT только по видимым товарам - нет, не долго.
да и вообще, 10000 - копейки + похоже они все у тебя в одной таблице - вообще ерунда.
Кенешбек Акматов Спасибо, реально утешил))
Если не делать индексы - то будет тормозить. А так хоть 10 млн. товаров.
Ленар Арсланов
Ленар Арсланов
14 781
Кенешбек Акматов Подскажите, какие индексы?
оптимизируй базу через ssh
и хостинг не бери используй выделенный или виртуальный сервер
и вообще зачем писать, вот движок нормальный http://simplacms.ru/
только он платный, но стоит дешевле потраченных сил на велосипед
база из 1 500 000 товаров должна летать
чем выше посещаемость тем больше все будет тормозить
Кенешбек Акматов Нет. Движок не нужен...
1. Нужна полная синхронизация с 1С (уже сделал)
2. Нужен МАКСИМАЛЬНО простой сайт (чтобы даже бабушка поняла, что делать)