|
|
|
Влияние индекса одной таблицы на производительность другой?
|
|||
|---|---|---|---|
|
#18+
Друзья, вопросец Вам, сталкивался кто-нибудь с таким?: Имею три таблицы, следующего типа AUTO_INCREMENT и текстовое (только характеристика данных отличается, разная средняя длина текста): CREATE TABLE `d` ( `id` bigint(20) NOT NULL auto_increment, `name` text NOT NULL, PRIMARY KEY (`name`(15),`id`), UNIQUE KEY `id` (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=15715581 DEFAULT CHARSET=utf8; пример: табл d текст: средняя длина 10-20 символов табл f текст: средняя длина 15-25 символов табл t текст: всегда 42 символа исходя из этого для каждой свой размер для индекса по тексту: табл d PRIMARY KEY (`name`(15),`id`) табл f PRIMARY KEY (`name`(20),`id`) табл t PRIMARY KEY (`name`(15),`id`) К ним применяются только простые запросы: select where name='***' При этом при разная длина индекса по тексту сказывается на производительности остальных таблиц пример: 1 табл d PRIMARY KEY (`name`(15),`id`) запросов в секунду: 189 табл f PRIMARY KEY (`name`(20),`id`) запросов в секунду: 4500 табл t PRIMARY KEY (`name`(15),`id`) запросов в секунду: 173 пример: 2 табл d PRIMARY KEY (`name`(15),`id`) запросов в секунду: 156 табл f PRIMARY KEY (`name`(25),`id`) запросов в секунду: 236 табл t PRIMARY KEY (`name`(15),`id`) запросов в секунду: 4680 Обратите внимание в примере 2 длина индекса таблицы 'f' равна 25, производительность этой таблицы падает, а 't' начинает летать Ни как не получается найти золотую середину... Объясните ПЛЗ, как длина индекса одной таблицы влияет на производительность другой? И хотелось бы таки добиться хорошей производительности... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2013, 09:41:24 |
|
||
|
Влияние индекса одной таблицы на производительность другой?
|
|||
|---|---|---|---|
|
#18+
siesitПри этом при разная длина индекса по тексту сказывается на производительности остальных таблицНу и сразу же стандартный вопрос - как измеряли "производительность"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2013, 13:03:21 |
|
||
|
Влияние индекса одной таблицы на производительность другой?
|
|||
|---|---|---|---|
|
#18+
tanglir, выполняется работа с базой (1 польз, 1 поток), параллельно софт считает сколько времени было затрачено на выполнения каждого запроса (не извлечение данных, а только запрос), по прошествии цикла выборки суммирует и вычисляет скорость, при этом затраченное время на каждый запрос равномерно и фильтруются запросы на которые ушло много времени (единичные случаи) и списываются на огрехи оборудования... все запросы такого рода: SELECT id FROM f WHERE name='***' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2013, 13:38:00 |
|
||
|
Влияние индекса одной таблицы на производительность другой?
|
|||
|---|---|---|---|
|
#18+
Есть гипотеза (из ХШ), что дело в размере кэша индексов. Все индексы туда не вмещаются, а только некоторые. Чей индекс влез - у того запросы быстрые. У кого нет - медленные и печальные дисковые чтения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2013, 13:47:19 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38336814&tid=1836432]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 349ms |

| 0 / 0 |
