Когда БД работает быстрее?

12
P
На сайте с 02.06.2006
Offline
123
763

Привет.

1) Если в БД всего одна таблица допустим content где хранятся все разделы, рубрики, страницы, статьи ..

2) Если в БД несколько таблиц, каждая своя для разделов, рубрик, страниц, статей и т.п.

PS: php запросы в БД MySql..

T
На сайте с 11.08.2005
Offline
181
#1

Когда ее проектирует специалист под конкретные требования и нагрузки.

скорее 2 вариант: если в БД несколько таблиц...

siv1987
На сайте с 02.04.2009
Offline
427
#2

Когда бд нормализирована.

Chaser support
На сайте с 20.10.2014
Offline
12
#3

А еще есть такая штука - индексы :)

Chaser (http://chaser.ru) - сервис увеличения телефонной конверсии
Mad_Man
На сайте с 10.11.2008
Offline
162
#4
siv1987:
Когда бд нормализирована.

Напротив, выборки быстрее происходят при денормализации.

AlexVenga
На сайте с 10.04.2007
Offline
190
#5
Mad_Man:
Напротив, выборки быстрее происходят при денормализации.

в майскуле это так, так что приходится иногда небольшую денормализацию проводить

Антикризисное предложение: [Бурж, AdSense] [NEW] Сайты - каталоги компаний с гарантией трафа [Дорого] (/ru/forum/1006462)
Solmyr
На сайте с 10.09.2007
Offline
501
#6
siv1987:
Когда бд нормализирована.

Нормализация не имеет отношения к быстродействию. Это из области обеспечения целостности данных.

---------- Добавлено 04.02.2015 в 21:19 ----------

По вопросу ТС - когда несколько таблиц - быстрее, но если не хотя бы тысячи таблиц, с сотнями тысяч записей каждая - разница будет очень незначительна.

Суть причины почему происходит ускорение - файловая система в ОС - это крайне эффективный индекс, который работает быстрее чем внутренний индекс БД. Впрочем, тот же эффект может быть достигнут путем использования партиций (partition).

L
На сайте с 07.12.2007
Offline
351
#7
Solmyr:
Нормализация не имеет отношения к быстродействию.

Имеет, но не прямое. Сделайте не нормализованную таблицу, содержащую поля TEXT, на полмиллиона записей. И поделайте выборки по другим полям(не TEXT). Потом удалите из таблицы поля TEXT и поделайте выборки. И сравните время выполнения запросов.

И siv1987 и Mad_Man - правы одновременно. Но всё будет сильно зависеть от конкретики.

pash, если используете таблицы MyISAM - быстродействие будет сильно зависеть от того пишите вы в таблицу данные или только читаете из неё. MyISAM блокирует всю таблицу на время записи (и чтения, если следующая в очереди операция - запись).

InnoDB - блокирует построчно.

siv1987
На сайте с 02.04.2009
Offline
427
#8
Solmyr:
Нормализация не имеет отношения к быстродействию.

Это вы скажете когда ваши костыли на возрастающем или не учитываемом функционале будут валить сервер из-за г-спроектированной бд.

Mad_Man:
Напротив, выборки быстрее происходят при денормализации.

ТС'а интересует работа базы данных в целом.

Solmyr
На сайте с 10.09.2007
Offline
501
#9
siv1987:
Это вы скажете когда ваши костыли на возрастающем или не учитываемом функционале будут валить сервер из-за г-спроектированной бд.

"Валить сервер" - такие термины можно применять, когда втираете что-то заказчикам. При общении с коллегами желательно применять более конкретные наименования тех или иных событий.

siv1987
На сайте с 02.04.2009
Offline
427
#10
Solmyr:
"Валить сервер" - такие термины можно применять, когда втираете что-то заказчикам.

Как раз когда втираете что-то заказчикам такие термины желательно не применять.

12

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