>> | Аноним Воскресенье 04 Янв 2015 00:43:41 Вc 04 Янв 2015 00:43
No.
1160748
[Мод] ▲>>1160730 ну в плане производительности базы у нас сейчас всё более менее няшненько сделано. во-первых эту тяжелую таблицу мы разбили на несколько с foreign keys, во вторых поменяли типы таблиц на осоврененяные с плюшками и пересмотрели индексы. да, финт со слейвами можно провернуть, если захочется. у нас включен слоу лог и я иногда в него заглядываю.
вот это из дефолтной кусабы:
--
-- Table structure for table `posts`
--
CREATE TABLE `PREFIX_posts` (
`id` int(10) unsigned NOT NULL auto_increment,
`boardid` smallint(5) unsigned NOT NULL,
`parentid` int(10) unsigned NOT NULL default '0',
`name` varchar(255) NOT NULL,
`tripcode` varchar(30) NOT NULL,
`email` varchar(255) NOT NULL,
`subject` varchar(255) NOT NULL,
`message` text NOT NULL,
`password` varchar(255) NOT NULL,
`file` varchar(50) NOT NULL,
`file_md5` char(32) NOT NULL,
`file_type` varchar(20) NOT NULL,
`file_original` varchar(255) NOT NULL,
`file_size` int(20) NOT NULL default '0',
`file_size_formatted` varchar(75) NOT NULL,
`image_w` smallint(5) NOT NULL default '0',
`image_h` smallint(5) NOT NULL default '0',
`thumb_w` smallint(5) unsigned NOT NULL default '0',
`thumb_h` smallint(5) unsigned NOT NULL default '0',
`ip` varchar(75) NOT NULL,
`ipmd5` char(32) NOT NULL,
`tag` varchar(5) NOT NULL,
`timestamp` int(20) unsigned NOT NULL,
`stickied` tinyint(1) NOT NULL default '0',
`locked` tinyint(1) NOT NULL default '0',
`posterauthority` tinyint(1) NOT NULL default '0',
`reviewed` tinyint(1) unsigned NOT NULL default '0',
`deleted_timestamp` int(20) NOT NULL default '0',
`IS_DELETED` tinyint(1) NOT NULL default '0',
`bumped` int(20) unsigned NOT NULL default '0',
PRIMARY KEY (`boardid`,`id`),
KEY `parentid` (`parentid`),
KEY `bumped` (`bumped`),
KEY `file_md5` (`file_md5`),
KEY `stickied` (`stickied`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
представляешь, как няшно тут делать возможность постить много картинок в посте? :3
|