事件日历的数据库大小

时间:2013-03-11 05:00:05

标签: php javascript mysql

我正在使用php和mysql在事件日历上做一个项目。

我怀疑,当我们尝试在每天的每个小时中包含事件时,它会使数据库变得非常大。因为我们需要每天看到/引​​用过去和未来的事件。有时,我们需要一些活动更多天。那么,在这种情况下,我们可以使用什么技术来保持数据库的大小呢?

2 个答案:

答案 0 :(得分:2)

这是我最近用于项目的表格结构:

CREATE TABLE `event` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `description` text,
  `startdate` datetime DEFAULT NULL,
  `enddate` datetime DEFAULT NULL,
  `location` text,
  `price` double(8,2) DEFAULT NULL,
  `user_id` int(11) DEFAULT NULL,
  `created_date` datetime DEFAULT NULL,
  `seats` int(11) NOT NULL,
  `show_map` tinyint(1) DEFAULT '1',
  `latitude` varchar(65) DEFAULT NULL,
  `longitude` varchar(65) DEFAULT NULL,
  `contact` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

事件在开始日期和结束日期之间的日历上绘制,这将事件保持为一行。 MySQL能够处理数百万行,所以我认为你的空间不足。

答案 1 :(得分:0)

为什么要关心每小时存储“东西”。存储事件的开始和结束时间。对于一天的事件,将开始设置为午夜,并结束于第二天的午夜。然后,您的数据库与事件数量成比例增长;与一天中的小时数不成比例。并且你不可能逃避在某个地方存储所有事件