![]() |
|
Модераторы: skyboy |
![]()
|
|
| DooZ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 25.11.2005 Репутация: нет Всего: 1 |
в данный момент есть таблица
пример: CREATE TABLE text ( id int unsigned auto_increment primary key, text longtext not null, status enum('inactive', 'active') not null default 'inactive', rating int not null default 0, index (status, rating) ); записей как пример 40.000 делается запрос select count(*) from text where status='active' and rating>1 выполняется 0.0134 секунды это очень долго данный запрос я показал как пример в таблице могут быть такие данные как дата создания записи и выбор будет включать ее что еще более увеличит время запроса посоветуйте как хранить данные? если в двух словах то например сайт: digg.com есть навигация внизу по страницам так же есть фильтра типа показать за 7 дней записи, за месяц и т.д. исходя из этого в базе подсчитывается кол-во элементов подходящие под запрос и формируется навигация (для навигации надо знать точное кол-во записей удовлетворяющему условию) так вот вопрос как лучше хранить данные в базе о точном кол-ве всех записей которые удовлетворяют нужному условию? типа: записей которым 7 дней = 10.000 записей которым 2 дня = 12.000 записей которые не активные (status = inactive) = 3000 записей у которых рейтинг 5 = 1000 ? |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 3 Всего: 32 |
так и хранить
|
|||
|
||||
| DooZ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 25.11.2005 Репутация: нет Всего: 1 |
хорошо тогда такой вопрос
если мне надо выбрать записи по диапазону даты, типа от 1 дня до 2-х дней то как тут быть? если делать по второму варианту (хранить все в таблице уже подсчитанным), то как быть с выборкой по времени? |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 3 Всего: 32 |
выбирать обычным порядком.
я не понимаю этих вопросов. я могу понять вопрос "я сделал так-то и так-то, у меня такие-то проблемы" но я не понимаю вопроса "я собираюсь сделать то-то, и боюсь, что возникнут проблемы" |
|||
|
||||
| Kesh |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 15 Всего: 54 |
Ну, сделайте индекс по дате... Поиск будет быстрым...
Добавлено через 1 минуту и 4 секунды Попробуйте для статуса поле bool использовать... -------------------- ![]() |
|||
|
||||
| DooZ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 25.11.2005 Репутация: нет Всего: 1 |
я задаю вопросы только после того как опробывал все что мог (знал)! |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 3 Всего: 32 |
Ну и отлично. Ответ ты получил.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |