【发布时间】:2013-01-26 02:02:19
【问题描述】:
我最近在 C# 应用程序中从使用本地 MySQL 实例切换到使用 Xeround MySQL 实例。因此,我注意到查询运行速度要慢得多。我目前正在运行左连接以创建一个新表,并试图将我的运行时间缩短几秒钟。
我观察到以下平均运行时间:
- 将表创建为(选择):14 秒
- 创建表并插入左连接:14 秒
- 仅 SELECT 语句:9s
- 将临时表创建为(选择):9.2 秒
- 创建视图和检索内容:9.5 秒
目前我正在运行CREATE TABLE AS (SELECT) 语句。显然,我想减少与仅从 select 语句移动到带有 select 语句的 CREATE TABLE 相关的 5 秒溢价。使用视图似乎很有希望,但是从视图访问数据非常慢,并且不能证明这里节省的时间是合理的。使用临时表似乎也很有希望,但是按照我进行函数调用的方式,该表将在我完成访问之前被删除。我可以使用另一个关键字来告诉 MySQL 引擎获取 SELECT 语句的内容并将其放入准系统表中吗?
【问题讨论】:
-
您确定您的表设置了索引吗?
-
是的。这些数字来自对正在连接的字段的索引进行的测试。
标签: mysql performance left-join create-table xeround