Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Рост таблиц после оптимизации (Михаил Монашёв) 03/07/2003 - 13:28:28
      Re: Как сделать выбор случайной записи (Михаил Монашёв) 03/07/2003 - 13:34:15
      Re: Как сделать выбор случайной записи (AHILES) 05/02/2007 - 17:11:44

> Original message text:
> From: Михаил Монашёв - 03/07/2003 - 13:28:28
> Subject:Рост таблиц после оптимизации
> -----------------
> делаю потимизацию таблицы и после этого она вырастает на 50%. неужели это из-за статистики, накопленной по этой таблице.
> А после того как делаю репэйр - таблица опять становится нормальных размеров. Естественно, что меняется только размер индексов, а размер данных остаётся прежним.
> Так ли важна эта статистика и на сколько быстрее выполняются запросы с этой статистикой?
>


From: Михаил Монашёв - 03/07/2003 - 13:34:15
Subject:Как сделать выбор случайной записи
-----------------
Таблица большая (50 000 записей 100 мб).

CREATE TABLE news (
id int(10) unsigned NOT NULL auto_increment,
description varchar(255) NOT NULL default '',
...
PRIMARY KEY (id)
) TYPE=MyISAM PACK_KEYS=1 CHECKSUM=1 DELAY_KEY_WRITE=1;

Это решение не очень нравится, т.к. работает медленно.

$max_id='SELECT MAX(id) FROM news';
$id = int(rand()*$max_id+1);
'SELECT description WHERE ID='.$id;
(лишнее опущено)

вот это тоже не шустро, т.к. выполняется расчёт случайного числа для каждой из 50 000 записей:

SELECT description ORDER BY RAND() LIMIT 1


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
30638



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |