







|
MySQL.RU - Webboard
Вернуться
CHAR против VARCHAR - БИТВА ГИГАНТОВ (Трава) 10/10/2005 - 02:04:33
Re: перепутал (Трава) 10/10/2005 - 02:06:45
Re: CHAR против VARCHAR - БИТВА ГИГАНТОВ (Роберт) 11/10/2005 - 06:10:33
Re: CHAR против VARCHAR - БИТВА ГИГАНТОВ (Dinky) 11/10/2005 - 20:05:31
From: Трава - 10/10/2005 - 02:04:33
Subject:CHAR против VARCHAR - БИТВА ГИГАНТОВ
-----------------
Вот Вам результаты исследования
Я решил сравнить возможности CHAR и VARCHAR
поэтому создал две базы данных
Вот такие:
имя базы = тип поля + тип таблицы
tofix = varchar + dynamic
todyn = char + fixed
Вот скрипт, потому что это может быть важно:
create database tofix;
create table tovar (rr char(250), FULLTEXT rr_(rr)) row_format=fixed,
pack_keys=1, checksum=0;
create database todyn;
create table tovar (rr varchar(250), FULLTEXT rr_(rr))
row_format=dynamic, pack_keys=1, checksum=0;
Потом залил в каждую из них по 6 миллионов записей
load data infile 'x:\g312.txt' into table tofix.tovar lines terminated
by '\r\n';
load data infile 'x:\g312.txt' into table todyn.tovar lines terminated
by '\r\n';
Кстати залилось всего за 15 мин в tofix
и за 14 мин в todyn.
Затем решил сравнить размер полученных баз
tofix = 2.0 Гб
todyn = 1.5 Гб
То есть не такая существенная разница как я ожидал ранее.
Затем решил сравнить скорость селектов.
Этот запрос выбирает 115745 записей.
select rr from tovar where match(rr) against('toyota');
А вот время выполнения
tofix = 245,36 sec.
todyn = 178,00 sec.
То есть VARCHAR + DYNAMIC получается что справляется с селектом по
фултексту БЫСТРЕЕ
Это удивительно, так как в справочнике написано обратное.
Поэтому тем более нужно найти причину этого явления.
Хотя я как будто догадывался что так и будет.
Тесты проводились на версии 5.0.13 RC
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
24365
|
|