Пара вопросов спецам по мускулу

D
На сайте с 05.06.2007
Offline
155
#41
а если из order by убрать только desc, сортировка исчезнет?

нет.. я думаю тут дело именно в параметре sort buffer size=2M , но больше ставить вроде ни где не рекомендуют... просто ограничиваю при выборе базу оценок id<40000 и filesort пропадает... (мой Индекс 2,149.0 КБ )

какой у вас и какие параметры для sort buffer size / myisam sort buffer size

having: мой запрос видимо для mysql очень похож на группировку по n.foto=f.id (ведь несколько оценок для одной фотки)

если не использовать having то как не крути будет using temporary для n + where для f (соответственно долгое выполнение)

Почему у вас такого нет?

Очень просто, у вас условия только для одной таблицы, поставьте дополнительное условие для f как у меня (f.ok=1 and f.view=0 and f.ero=0), достаточно одного параметра на который нет индекса и всё переворачивается вверх дном ..

В принцепи я во всём разобрался, но ещё хотелось бы услышать что у вас получится после подстановки этого доп. условия для f.

Написал не мало шедевров ;)
N
На сайте с 06.05.2007
Offline
419
#42

по 90Mb на каждый (существуют гораздо более обкуренные приложения и мне раскручивать mysql выгоднее чем их переписывать. на рекомендации данные абстрактному серверу можно просто положить.).

вот explain с дополнительными условиями:

explain select f.*,username as noteuser from `photo_comments` n ,`photo_photos` f where f.id=n.photo and n.rating=10.0 and n.approved=1 and (f.approved=1 and f.views>50) order by n.id desc limit 500,20;


+----+-------------+-------+--------+---------------+---------+---------+-----------------+--------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+--------+---------------+---------+---------+-----------------+--------+-------------+
| 1 | SIMPLE | n | index | photo | PRIMARY | 4 | NULL | 110130 | Using where |
| 1 | SIMPLE | f | eq_ref | PRIMARY | PRIMARY | 4 | xxxxxxx.n.photo | 1 | Using where |
+----+-------------+-------+--------+---------------+---------+---------+-----------------+--------+-------------+

ничего не меняется.

Кнопка вызова админа ()
D
На сайте с 05.06.2007
Offline
155
#43

Вот видите, у вас 90мб, у меня 2 .. (сколько же коннектов допускаете, если каждый уже способен взять по 90мб) с сортировкой вся понятно ;)

using temporary - скорее всего тоже какой то лимит буфера нужно подкрутить..

Говорите ничего не меняется, появился using where для f, и кто знает какое время выполнения скрипта будет...

N
На сайте с 06.05.2007
Offline
419
#44

дополнительный where еще больше уменьшает объем сортируемых данных. время даже меньше.

вообще если верить mysqltuner : [!!] Maximum possible memory usage: 16.9G (526% of installed RAM)

у меня сервер-камикадзе. однако работает он хорошо :)

D
На сайте с 05.06.2007
Offline
155
#45

на swap работает наверное :D

Ладно, спасибо за прояснение ситуации, сново чему то научился)

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