Влияет ли размер таблицы на скорость выборки и тд?

Статус
Закрыто для дальнейших ответов.

FiRеFоX

V.I.P.
Регистрация
07.08.2010
Сообщения
744
Вот допустим имеем мы три таблицы:
`forum`
[id] [name] [txt_file] [img_min] [img_max] [dats] [razdel] [privat] [comments]
`blogi`
[id] [name] [txt_file] [img_min] [img_max] [dats] [razdel] [privat] [comments]
`eshe_kakya-to_tablica`
[id] [name] [txt_file] [img_min] [img_max] [dats] [razdel] [privat] [comments]
Как видим, у нас таблицы совершенно одинаковые) Вот у меня получилась точно такая же ситуация... И я взял все их три объединил в одну, добавив в таблицу ещё одно поле, и назвал его `tip`, например.
И теперь делаю выборку из нее:
Для форума:
Код:
select*from ..... where `tip`='1' // для форума у нас будет число 1
Для блогов:
Код:
select*from ..... where `tip`='2' // для блогов у нас будет число 2
Для третьей таблицы:
Код:
select*from ..... where `tip`='3' // для третьей таблицы у нас будет число 3
Ну и соответственно когда будут добавлять блоги, темы и тд, то будет добавляться соответствующее число для места)
Вот так я сделал чат, комменты к блогам, форуму, фотогалерее, письмам и ещё не помню чему.. Ну получилось у меня так, что сходные таблицы по содержимому)
Теперь вопрос.. Правильно ли это я делаю или нет? И повлияет ли это как то на скорость обработки запросов и тд со временем?
Просто вот так выглядит в бд красиво, всего несколько таблиц) а без этого придется строить таблиц в раза 2-3 больше..
 

Snickers

Быдлокодер
Регистрация
05.11.2010
Сообщения
388
Вот допустим имеем мы три таблицы:
`forum`
[id] [name] [txt_file] [img_min] [img_max] [dats] [razdel] [privat] [comments]
`blogi`
[id] [name] [txt_file] [img_min] [img_max] [dats] [razdel] [privat] [comments]
`eshe_kakya-to_tablica`
[id] [name] [txt_file] [img_min] [img_max] [dats] [razdel] [privat] [comments]
Как видим, у нас таблицы совершенно одинаковые) Вот у меня получилась точно такая же ситуация... И я взял все их три объединил в одну, добавив в таблицу ещё одно поле, и назвал его `tip`, например.
И теперь делаю выборку из нее:
Для форума:
Код:
select*from ..... where `tip`='1' // для форума у нас будет число 1
Для блогов:
Код:
select*from ..... where `tip`='2' // для блогов у нас будет число 2
Для третьей таблицы:
Код:
select*from ..... where `tip`='3' // для третьей таблицы у нас будет число 3
Ну и соответственно когда будут добавлять блоги, темы и тд, то будет добавляться соответствующее число для места)
Вот так я сделал чат, комменты к блогам, форуму, фотогалерее, письмам и ещё не помню чему.. Ну получилось у меня так, что сходные таблицы по содержимому)
Теперь вопрос.. Правильно ли это я делаю или нет? И повлияет ли это как то на скорость обработки запросов и тд со временем?
Просто вот так выглядит в бд красиво, всего несколько таблиц) а без этого придется строить таблиц в раза 2-3 больше..
а если для какого то раздела потребуется что ни будь эдакое? не самый лучший вариант все в одной таблице размещать
 

FiRеFоX

V.I.P.
Регистрация
07.08.2010
Сообщения
744
Вот допустим имеем мы три таблицы:
`forum`
[id] [name] [txt_file] [img_min] [img_max] [dats] [razdel] [privat] [comments]
`blogi`
[id] [name] [txt_file] [img_min] [img_max] [dats] [razdel] [privat] [comments]
`eshe_kakya-to_tablica`
[id] [name] [txt_file] [img_min] [img_max] [dats] [razdel] [privat] [comments]
Как видим, у нас таблицы совершенно одинаковые) Вот у меня получилась точно такая же ситуация... И я взял все их три объединил в одну, добавив в таблицу ещё одно поле, и назвал его `tip`, например.
И теперь делаю выборку из нее:
Для форума:
Код:
select*from ..... where `tip`='1' // для форума у нас будет число 1
Для блогов:
Код:
select*from ..... where `tip`='2' // для блогов у нас будет число 2
Для третьей таблицы:
Код:
select*from ..... where `tip`='3' // для третьей таблицы у нас будет число 3
Ну и соответственно когда будут добавлять блоги, темы и тд, то будет добавляться соответствующее число для места)
Вот так я сделал чат, комменты к блогам, форуму, фотогалерее, письмам и ещё не помню чему.. Ну получилось у меня так, что сходные таблицы по содержимому)
Теперь вопрос.. Правильно ли это я делаю или нет? И повлияет ли это как то на скорость обработки запросов и тд со временем?
Просто вот так выглядит в бд красиво, всего несколько таблиц) а без этого придется строить таблиц в раза 2-3 больше..
а если для какого то раздела потребуется что ни будь эдакое? не самый лучший вариант все в одной таблице размещать
Ну да, с этим согласен;)
Но даже если и понадобится что-то эдакое, то поле может остаться и пустым... Для меня минус это то, что я забываю какое число чему (форуму или блогам и тд) соответствует..
 

BaNru

Пацифизжу
Команда форума
Регистрация
13.11.2010
Сообщения
4 138
используй не число, а явное указание - comment, chat...

С уважением, ваш КЭП
 

FiRеFоX

V.I.P.
Регистрация
07.08.2010
Сообщения
744
используй не число, а явное указание - comment, chat...

С уважением, ваш КЭП
А это никак не повлияет на загрузку выборки из таблицы? Ну или на что нибудь? А то я думал, что с числом работать в разы быстрее..
 

FiRеFоX

V.I.P.
Регистрация
07.08.2010
Сообщения
744

BaNru

Пацифизжу
Команда форума
Регистрация
13.11.2010
Сообщения
4 138
Adanos, зайди на manlix.ru, посмотри статью "Время, затраченное на генерацию PHP скрипта"
Наполни БД тестовыми записями хотя бы до 1k, а лучше до 10k и замерь скорость с цифрами и скорость с буковками. Повтори эксперимент раз 10. Посмотри максимальные показатели, минимальные и среднеарифметические. Результат наверняка будет одинаковый.

ЗЫ Я бы с удовольствием посмотрел на результат эксперимента
 
Статус
Закрыто для дальнейших ответов.
Верх Низ