ну это понятно что не даст, мне интересно будет ли тормозить партицирование на небольших объемах, по мимо этого меня интересует размер таблиц. Добавлено спустя 12 минут 27 секунд: и еще вопрос, таблица: id, type и text, по type будет проходить секционирование, а в text будут какие то текст, размер (длина) имеет значение?
Ну вот я создаю таблицу, пытаюсь прикрутить к ней секционирование, в итоге получаю ошибку: Код (Text): CREATE TABLE prtn_3 ( `t_id` INT UNSIGNED NOT NULL AUTO_INCREMENT, `t_type` VARCHAR(64) NOT NULL, `t_txt` TEXT NOT NULL, PRIMARY KEY(`t_id`,`t_type`) ) как тут описано http://dev.mysql.com/doc/refman/5.6/en/partitioning-columns-list.html Код (Text): ALTER TABLE prtn_3 PARTITION BY LIST COLUMNS (t_type) ( PARTITION p1 VALUES IN ('one'), PARTITION p2 VALUES IN ('two'), PARTITION p3 VALUES IN ('three'), PARTITION p4 VALUES IN ('four'), PARTITION p5 VALUES IN ('five') ) ошибка: подскажите что делать? (ну по мимо того что забить)
VLK, ошибку так исправить: Код (Text): IN ('five') ); развлекайся, хотя лучше запусти один master mysql server для insert и два slave под select, будет больше пользы.
пишет 5.1.67, а как я понимаю для COLUMNS нужно 5.6, и че теперь делать? В смысле как по другому сделать, что бы на 5.1.67 работало и текстовыми значениями
Ну некоторые результаты, сделал 3 таблицы: Код (Text): CREATE TABLE prtn_1 ( `t_id` INT UNSIGNED NOT NULL AUTO_INCREMENT, `t_type` INT NOT NULL, `t_txt` TEXT NOT NULL, PRIMARY KEY(`t_id`) ) CREATE TABLE prtn_2 ( `t_id` INT UNSIGNED NOT NULL AUTO_INCREMENT, `t_type` INT NOT NULL, `t_txt` TEXT NOT NULL, PRIMARY KEY(`t_id`,`t_type`) ) CREATE TABLE prtn_3 ( `t_id` INT UNSIGNED NOT NULL AUTO_INCREMENT, `t_type` INT NOT NULL, `t_txt` TEXT NOT NULL, PRIMARY KEY(`t_id`,`t_type`) ) к последней прикрутил: Код (Text): ALTER TABLE prtn_3 PARTITION BY RANGE (t_type) ( PARTITION p1 VALUES LESS THAN (1), PARTITION p2 VALUES LESS THAN (2), PARTITION p3 VALUES LESS THAN (3), PARTITION p4 VALUES LESS THAN (4), PARTITION p5 VALUES LESS THAN (5), PARTITION p0 VALUES LESS THAN (MAXVALUE) ) забил 20 000 записей в каждую, записи полностью идентичны, первые 2 таблицы работают примерно одинаково, а вот последняя т.е. та что PARTITION, работает медленнее, запрос (это где то предпоследняя запись в БД): Код (Text): SELECT * FROM `prtn_{$num}` WHERE `t_type`='5' AND `t_txt`='bjRptALWD4S4Ik7gsqcATfxZuAHd8hyX6OtQ4Vsh' где то примерно так, там 100 или 300 запросов делается, скорость выполнения всего: 0.02004 0.023458 0.111683 размеры, уже вышел из БД в следующий раз.. Добавлено спустя 38 секунд: Я все нормально организовал или где то накосорезил?
Накосорезил. Ты используешь то, что не должно применяться в данной ситуации и без всякого смысла. Это косяк.
тогда x1000 записей, все разные, и потестируй это =) 20к записей по одному кб это всего-навсего 20 мб, которые уместятся даже в оперативке роутера.
Вы имеете ввиду при создании таблицы добавить KEY(t_type) т.е.: Код (Text): CREATE TABLE prtn_4 ( `t_id` INT UNSIGNED NOT NULL AUTO_INCREMENT, `t_type` INT NOT NULL, `t_txt` TEXT NOT NULL, PRIMARY KEY(`t_id`), KEY(`t_type`) ) или партиционирование по KEY делать? (там есть такое - RANGE, LIST, KEY и т.д.)
Споконо igordata, спокойно. Что-то НЕпрограммисты последнее время активировались, наверное магнитные бури.
ну я сделал: Код (Text): ALTER table prtn_2 add KEY (`t_type`); ALTER table prtn_3 add KEY (`t_type`); но все как было так и осталось.
ты сделал два индекса (судя по всему больше) на одно и то же поле? Давай ты почитаешь про то как работают БД? немного совсем. http://www.codenet.ru/progr/vbasic/vb_db/1.php а после этого переходим к более сложному: https://ru.wikipedia.org/wiki/%C8%ED%E4%E5%EA%F1_(%E1%E0%E7 ... D%ED%FB%F5)