Работа с большими базами данных

12
Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#11
ishipilov:

структура:

id	int(11)

original_id int(11)
name text
url text
currencyId varchar(5)
picture text
thumbnail text
description text
model text
price float
vendor text
categoryId int(11)

Это не структура, это какой то вырванный кусок.

Структуру получить можно так:

show create table <имя таблицы>

И покажите запрос, который тормозит. Может там действительно ORDER BY RAND() и прочий ужас...

Mik Foxi
На сайте с 02.03.2011
Offline
1177
#12
SeVlad:

Чаще происходит другое - кодеры уверены что они программисты.

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

Антибот, антиспам, веб фаервол, защита от накрутки поведенческих: https://antibot.cloud/ (Зеркало: https://антибот.рф/ ) Форум на замену серчу: https://foxi.biz/
SeVlad
На сайте с 03.11.2008
Offline
1609
#13
ishipilov:
есть аналогичные сайты с БД менее 10 МБ. грузятся очень быстро.

Ну и что? Красная машина быстрее синей?

Размер базы практически не влияет на скорость загрузки страницы*. Есть 100500 других факторов, влияющих на загрузку страницы.

* может влиять только при действительно больших объёмах (в см кол-ве таблиц\полей и данных в них) при неправильной структуре и большом кол-ве кривых запросов к ней.

---------- Добавлено 11.12.2013 в 14:44 ----------

foxi:
если программист называет других пренебрежительно кодерами - он сам кодер, а не программист

С чего ты взял что "кодер" - это пренебрежительное название "программиста"? Это две разные специализации. Или даже профессии. Архитектор и строитель. Конструктор и сборщик. Шеф-повар и раздельщик рыбы. И тд и тп.

И кто это, интересно, кого так называл? Фантазии оставляй для творчества.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
QM
На сайте с 25.01.2010
Offline
170
#14

Глобально:

1. Откройте для себя скрипт "tuning primer" (Matt Mongomery)

http://habrahabr.ru/post/66684/

2. Откройте для себя EXPLAIN и план запросов

Конкретно:

1. Возможно у вас нет индексов по categoryId

2. Почти наверняка похожие товары вы берёте ORDER BY RAND() самым неоптимальным образом

http://hudson.su/2010/09/16/mysql-optimizaciya-order-by-rand/

http://toster.ru/q/5525?_aa=press_anykey

ishipilov
На сайте с 25.12.2011
Offline
101
#15

проставил индексы, сайт действительно стал грузиться как ракета. Раньше не придавал им значения (дурная привычка сначала что-то делать а уже потом читать документацию :) ).

По поводу ORDER BY RAND() - сам не составляю SQL запрос, делаю через CI

function items($num,$catid)

{
$this->db->where('categoryId',$catid);
$this->db->limit($num);
$this->db->order_by('id','random');
$query = $this->db->get('items');
return $query->result_array();
}

вероятно CI использует ORDER BY RAND(), так что учту.

В общем ответы на вопросы я нашел, всем кому смог плюсанул, тему можно закрывать.

ах да, и за флуд тоже спасибо 🍿

QM
На сайте с 25.01.2010
Offline
170
#16
ishipilov:
проставил индексы, сайт действительно стал грузиться как ракета. Раньше не придавал им значения (дурная привычка сначала что-то делать а уже потом читать документацию :) ).

Вычеркните из своей подписи слова "опытный программист". Это уровень школьника, не более. Такой позор для профессии.

Индексы? Не, не слышал. (С)

Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#17
q_metainfo:
Вычеркните из своей подписи слова "опытный программист". Это уровень школьника, не более. Такой позор для профессии.

Индексы? Не, не слышал. (С)

Trololo :)

12

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