以下查询非常简单.它从消息表中选择最后20条记录,以便在分页方案中使用.第一次运行此查询时,需要15到30秒.后续运行只需不到一秒钟(我预计会涉及一些缓存).我试图确定为什么第一次这么长时间. 这是查询: SELECT DISTINCT ID,List,`From`,Subject, UNIX_TIMESTAMP(MsgDate) AS FmtDate FROM messages WHERE List=...
1、在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能。 SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset 1. 2、LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一...
首先,我确定当前页面是否更接近总页数的开头或结尾.如果它更接近结尾,我使用ORDER BY MsgDate DESC,应用适当的限制,然后反转返回记录的顺序. 这使得检索页面接近结果集的开头或结尾的速度要快得多(第一次现在需要4-5秒而不是15-30秒).如果用户想要导航到中间附近的页面(当前在第430页左右),那么速度可能会下降....