我正在尝试优化表单SELECT SQL_NO_CACHE col FROM TABLE ..的查询。当我第一次连接到数据库并执行查询时,大约需要9秒。当我第二次执行查询时,几乎需要0.1秒。我将放在查询中,以确保mysql不会从缓存中读取结果。我的问题是,为什么在连接到数据库(mysql -uroot ... )之后第一次执行查询所需的时间比后续执行的时间要长得多。
因此,我一直在研究有关使用TRUNCATE vs DROP的SQL标准。我的公司正在尝试确定我们是否应该在DROP之前使用TRUNCATE作为标准编码约定,或者我们是否应该只使用DROP。通常,我们总是使用TRUNCATE和DROP,而不只是DROP。上面的链接还解决了使用TRUNCATE时会有不必要的开销。