|
|
|
| Может ли ктонить подсказать долго ли будет проходить запрос к одной таблице БД
(т.е. без объединений) и сильно ли это затормозит сервер MySQL если в таблице порядка 30000 записей. Запрос несложный выборка максимум по двум полям
Заранее спасибо. | |
|
|
|
|
|
|
|
для: korwin
(10.02.2005 в 21:44)
| | Сильно зависит от индексации, т.е. какие столбцы индексированы и участвуют ли они в условии WHERE. Так же зависит от машины на которой будет выполняться запрос, но с 90 % вероятностью запрос будет выполняться доли секунды. MySQL создавалась как одна из самых быстрых баз данных - скорость это её конёк. | |
|
|
|
|
|
|
|
для: cheops
(10.02.2005 в 22:15)
| | То есть не имеет смысла разбивать , скажем 1, на более простые с данными, полученными запросом из таблицы 1, с целью ускорить работу сиситемы(я имею ввиду частые обращения к таблице 1) | |
|
|
|
|
|
|
|
для: korwin
(11.02.2005 в 02:26)
| | Только если действительно сможете работать независимо с обеими таблицами, так, чтобы не пришлось прибегать к многотабличному запросу (вот это действительно сильно тормозит приложение). Но я бы не стал так делать организовав всё в однотабличном варианте, и только если торможение наблюдалось бы визуально провёл нормализацию (или денормализацию в зависимости от случая). | |
|
|
|
|
|
|
|
для: cheops
(10.02.2005 в 22:15)
| | и кстати чем помогает индексация, про скорость я понял, но как это работает и в каких случаях актуально? | |
|
|
|
|
|
|
|
для: korwin
(11.02.2005 в 02:42)
| | Про индексы можно почитать в темах по ссылкам
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=419
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=935
Предназначены индексы в первую очередь для ускорения выполнения запросов, так как индекс - это по сути дополнительный столбец значения в котором поддерживаются в отсортированом состоянии. Недостатком использования индексов является значительное увеличение объёма таблицы и замедления операций вставки новых записей и редактирования уже существующих (так как требуется время на работу с индексным столбцом). Каких либо телодвижений, помимо создания индексов делать не нужно - база данных сама сама их распознает и будет работать с ними должным образом, единственным ограничением является совпадение типов, т.е. если один индекс имеет тип INT, а другой TINYINT - индексы использоваться не будут - необходимо чтобы оба индекса имели тип INT. | |
|
|
|