Сколько записей в ваше БД?

  • Автор темы CrazyHacKeRs
  • Дата начала

CrazyHacKeRs

Guest
Сколько записей в ваше БД?

Интересует порядок цифр в вашей БД (одна таблица), считается ли много, скажем 1 млн записей или это не предел???
 

Сергей123

Новичок
У меня, например, в таблице, хранящей все 7-значные натуральные числа, - 9000000 записей :)
 

Сергей123

Новичок
Пошутил я...
Нет, при правильной структуре БД, правильно созданных индексах и правильно настроенной СУБД приведённая тобой цифра - это не много.
 

Crazy

Developer
Странны мне эти разговоры. Говорить о торможении в отрыве от характера операций над данными абсолютно бессмысленно.
 

Сергей123

Новичок
Crazy, сейчас узнаем про "абсолютно"...

CrazyHacKeRs, прости пожалуйста, что ты пишешь?
 

CrazyHacKeRs

Guest
Что я пишу?

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

Есть желание переорганизовать структру, хотелось бы понять имеет ли смысл, так как записей планируется достаточно много на 1 основную по 30-40 дополнительных(сейчас они делятся на группы, под которые отводятся по отдельной таблице ). Т.е. я хочу сделать обратное :)
Все запихнуть в одну, но большую

А интересует потому, что даже сейчас при 20 тыс-30 тыс , при сложных запросах (несколько объединений) при нагрузке мин. 40 пользователй одновременно, на двух Xeon'ах и памяти мин 1 гб. наблюдаются тормоза :(
 

CrazyHacKeRs

Guest
Если спрашиваешь что за проект, это директория - таблица характеристик (три поля):

идентификатор, ключ, значение

Выборки будут в основном такие:

выбрать все записи где ID=идентификатор


Записей в таблице ~ 1 млн и больше

А вопрос тогда можно переформулировать как: насколько быстро будет сканироваться эта таблица?
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: CrazyHacKeRs

А вопрос тогда можно переформулировать как: насколько быстро будет сканироваться эта таблица?
::телепатия::
Если у тебя первичным ключом (идентификатор, ключ), то весьма быстро.

А если у тебя тормозят сложные запросы, то надо смотреть планы и разбираться, где и что тормозит. От размера таблицы оно вряд ли будет сильно зависеть.
 

Crazy

Developer
Автор оригинала: CrazyHacKeRs
А вопрос тогда можно переформулировать как: насколько быстро будет сканироваться эта таблица?
Время сканирования таблицы прямо пропорционально ее размеру -- зависимость при больших объемах (>> объема RAM) практически линейная. Но мне все же кажется, что ты хотел спросить про что-то другое. Например -- про выборки с использованием индексов? Если да, то это зависит от размера данных в индексируемых полях и их селективности. Чем меньше первое и выше второе, тем быстрее ты будешь получать результат.
 

Crazy

Developer
Автор оригинала: CrazyHacKeRs
А что такое селективность? ;)
Если к тебя в таблице из 1000 записей поле X содержит 10 уникальных значений, то это низкая селективность. Если 900 -- высокая. Понятно, что максимальная селективность достигается у первичного ключа, поэтому выборка по ключу обычно самая быстрая.

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

CrazyHacKeRs

Guest
Все понял, всем спасибо... начну делать, посмотрю что получиться из всего этого

СПАСИБО
 
Сверху