我正在使用PHP和mysql构建一个小插件,它基本上会采取许多不同的操作(大约50个)并将它们存储在数据库中。它将保留用户执行的50个操作中的每个操作的所有记录,并且用户数可以达到50,000。所以你可以看到在一个表中存储了很多条目。
这是表:
-- Table
CREATE TABLE `[db_prefix]entries` (
`id` int(10) unsigned NOT NULL auto_increment,
`user_id` int(11) NOT NULL,
`content_id` int(11) NOT NULL,
`lang_key` varchar(100) collate utf8_unicode_ci NOT NULL,
`params` text collate utf8_unicode_ci NOT NULL,
`date` timestamp NOT NULL default CURRENT_TIMESTAMP,
`type` varchar(100) collate utf8_unicode_ci NOT NULL,
`view` enum('true','false') collate utf8_unicode_ci NOT NULL default 'true',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
基本上,对于单个用户,将在一次加载用户整整一个月的操作。
有没有办法在create table语句中创建索引?我可能会索引user_id和content_id
感谢您的帮助
答案 0 :(得分:0)
-- Table
CREATE TABLE `[db_prefix]entries` (
`id` int(10) unsigned NOT NULL auto_increment,
`user_id` int(11) NOT NULL,
`content_id` int(11) NOT NULL,
`comment_id` int(11) NOT NULL,
`lang_key` varchar(100) collate utf8_unicode_ci NOT NULL,
`params` text collate utf8_unicode_ci NOT NULL,
`date` timestamp NOT NULL default CURRENT_TIMESTAMP,
`type` varchar(100) collate utf8_unicode_ci NOT NULL,
`view` enum('true','false') collate utf8_unicode_ci NOT NULL default 'true',
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
KEY `content_id` (`content_id`),
KEY `date` (`date`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;