0
我正在构建一个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
感谢您的帮助
我建议你在完成你的设计 – 2012-02-17 15:03:29
之前在SELECT语句的WHERE子句和数据库索引读取多达正如@MarkBaker最好熟悉建议与索引等,然而容量明智的数据量不是MySQL的问题处理,只要你有明智的索引和查询。这个问题非常模糊,因此会提出进一步考虑你的目标/澄清。 – 2012-02-17 15:08:51
我更新了一些更详细的问题。谢谢 – tmartin314 2012-02-17 15:14:29