事件日历的数据库大小


database size for an event calendar

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

我有一个疑问,当我们试图在每天的每个小时都包含事件时,它会使数据库变得非常庞大。因为我们每天都需要看到/参考过去和未来的事件。有时候,我们需要更多的时间来做一些事情。那么,在这种情况下,我们可以使用什么技术来保持数据库的大小呢?

这是我最近在一个项目中使用的一个表结构:

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能够处理数百万行,所以我认为你不会耗尽空间。

为什么你关心每小时存储一些东西?存储事件的开始和结束时间。对于白天的事件,将开始设置为午夜,并在第二天的午夜结束。然后,您的数据库将与事件数量成比例地增长;与一天的时间不成比例。你不可能不把所有的事件存储在"某处"