|
|
|
Проблема с настройками и одним запросом
|
|||
|---|---|---|---|
|
#18+
1. Подскажите пожалуйста настройки параметров MySQL для сервера Xeon 2Gz + 2 Гб оперативки. На нем будет стоять одна база около 150 Мб, 15 мелких таблиц и одна основная около 4 млн строк. По большой таблице ведется поиск простыми "=" и через LIKE, а так же сортировка "ORDER BY...". 2. По ходу возникает проблема со скоростью SELECT в поле datatime, у меня в таблице 5 индексированных столбцов по первым 4 скорость выборки приемлемая: select * from realtime_tick where realtime_tick.region_ID = 150 and realtime_tick.sec_id = 2 and realtime_tick.ticker LIKE 'ESX5I%' and realtime_tick.field_id = 4 но когда начинаю делать, что-то вроде этого, давать еще и условие по дате, возникают проблемы... скорость резко падает.. с 0,5 сек до 5 сек: select * from realtime_tick where realtime_tick.region_ID = 150 and realtime_tick.sec_id = 2 and realtime_tick.ticker LIKE 'ESX5I%' and realtime_tick.field_id = 4 and realtime_tick.dt BETWEEN '2005-07-07 10:10:00' and '2005-07-07 10:40:00' Все поля в запросе индексированны. Подскажите как его можно ускорить. Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2005, 03:11 |
|
||
|
Проблема с настройками и одним запросом
|
|||
|---|---|---|---|
|
#18+
1. В поставке MySQL есть примеры конфигов. Для описанного вам, скорей всего, достаточно my-large.cnf, но если это выделенный сервер СУБД -- то можете поставить и my-huge.cnf. 2. Покажите вывод EXPLAIN запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2005, 09:38 |
|
||
|
Проблема с настройками и одним запросом
|
|||
|---|---|---|---|
|
#18+
Вот сделал EXPLAIN +----+-------------+---------------+-------+-------------------+---------------- ---+---------+------+--------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+---------------+-------+-------------------+---------------- ---+---------+------+--------+-------------+ | 1 | SIMPLE | realtime_tick | range | IX_real_time_tick | IX_real_time_ti ck | 30 | NULL | 369876 | Using where | +----+-------------+---------------+-------+-------------------+---------------- ---+---------+------+--------+-------------+ 1 row in set (0.00 sec) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2005, 11:38 |
|
||
|
Проблема с настройками и одним запросом
|
|||
|---|---|---|---|
|
#18+
AlexandrrrВот сделал EXPLAIN +----+-------------+---------------+-------+-------------------+-------------------+---------+------+--------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+---------------+-------+-------------------+-------------------+---------+------+--------+-------------+ | 1 | SIMPLE | realtime_tick | range | IX_real_time_tick | IX_real_time_tick | 30 | NULL | 369876 | Using where | +----+-------------+---------------+-------+-------------------+-------------------+---------+------+--------+-------------+ 1 row in set (0.00 sec) Что же к читабельному виду-то не привели?.. Ещё неплохо бы описание этого самого индекса IX_real_time_tick. Да, и сколько результатов возвращает данный конкретный запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2005, 21:14 |
|
||
|
Проблема с настройками и одним запросом
|
|||
|---|---|---|---|
|
#18+
"Сколько результатов" -- это, конечно же, "сколько записей?". ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2005, 22:39 |
|
||
|
Проблема с настройками и одним запросом
|
|||
|---|---|---|---|
|
#18+
прошу прощения за нечитабельный вид... исправлюсь.. Вот описание индекса.. +---------------+------------+-------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | +---------------+------------+-------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ | realtime_tick | 1 | IX_real_time_tick | 1 | region_ID | A | 2 | NULL | NULL | | BTREE | | | realtime_tick | 1 | IX_real_time_tick | 2 | sec_id | A | 3 | NULL | NULL | | BTREE | | | realtime_tick | 1 | IX_real_time_tick | 3 | ticker | A | 97 | NULL | NULL | | BTREE | | | realtime_tick | 1 | IX_real_time_tick | 4 | field_id | A | 280 | NULL | NULL | | BTREE | | | realtime_tick | 1 | IX_real_time_tick | 5 | dt | A | 3313234 | NULL | NULL | | BTREE | | +---------------+------------+-------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+ 5 rows in set (0.00 sec) После выполения запроса: select * from realtime_tick where realtime_tick.region_ID = 150 and realtime_tick.sec_id = 2 and realtime_tick.ticker LIKE 'ESX5I%' and realtime_tick.field_id = 4 and realtime_tick.dt BETWEEN '2005-07-07 10:10:00' and '2005-07-07 10:40:00' вываливается 293 записи... вроде бы не так много.. Я сейчас пробую разбить поле datatime на индексные data и time .. может быстрее будет.. хотя не уверен.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 00:15 |
|
||
|
Проблема с настройками и одним запросом
|
|||
|---|---|---|---|
|
#18+
прошу прощения опять за нечитабельный вид таблицы.. ручки корявые.. копировал с блакнота и не проверил.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 00:17 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=33170376&tid=1853840]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
170ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 494ms |

| 0 / 0 |
