Задавайте вопросы, мы ответим
Вы не зашли.
Я новичок. Недавно узнал что
По каким полям делаются ORDER или WHERE - те поля надо делать ключами
/************************************************************/
у меня есть таблица
id *ключ* | name | city | bdate | sex | country | photo_id | time
...
...
80 000 000 строк...
из из него я делаю запросы типа
id *ключ* | name | city *ключ* | bdate *ключ* | sex *ключ* | country *ключ* | photo_id *ключ* | time *ключ*
...
...
80 000 000 строк...
И вообще есть ли понятие "избыток ключей" ?? избыток может нагрузить систему?
Неактивен
Каждый ключ нужно обрабатывать при добавлении или обновлении данных в строке.
При поиске может использоваться только один ключ, поэтому имеет смысл сделать
индекс над несколькими часто используемыми полями.
Тот запрос, который Вы написали, использовать индексы не будет, т.к. он выберет
почти всю базу. Единственное разумное ограничение, которое в нем можно придумать,
это индекс над датой рождения и переписать его в виде
bdate BETWEEN '1985-01-01' and '1990-12-31'
Неактивен
Каждый ключ нужно обрабатывать при добавлении или обновлении данных в строке. написал:
Можно поподробнее?
как лучше организовать таблицу в моем случаи?
Неактивен
Грубо: ключ это копия таблицы отсортированная по ключевому полю. Изменение данных приводит к тому, что данная копия должна перестраиваться, чтобы по прежнему быть отсортированной по ключевому полю. Чем больше ключей, тем больше копий таблицы, они больше занимают места на диске и запросы на изменение данных замедляются, так как нужно внести изменения во все копии, а некоторые ещё и перестроить при этом.
Неактивен