【发布时间】:2016-01-07 19:28:27
【问题描述】:
我有一个由网络浏览器访问的数据库。查询很简单。
从 ID="string" 的表中选择 *
我需要问的问题是,我是否需要担心随着服务器变大,最终用户的响应时间会变得“非常明显”变慢??
(现在查询在 0.00004 秒内返回。我真的不在乎,即使需要几秒钟。)
【问题讨论】:
-
非常大是什么意思?
我有一个由网络浏览器访问的数据库。查询很简单。
从 ID="string" 的表中选择 *
我需要问的问题是,我是否需要担心随着服务器变大,最终用户的响应时间会变得“非常明显”变慢??
(现在查询在 0.00004 秒内返回。我真的不在乎,即使需要几秒钟。)
【问题讨论】:
不,您不必担心。我有一个大约有十亿行的表,它会立即返回。
mysql> show profiles;
+----------+------------+---------------------------------------------+
| Query_ID | Duration | Query |
+----------+------------+---------------------------------------------+
| 1 | 0.00020500 | select * from xxxx where id = 768273542 |
+----------+------------+---------------------------------------------+
1 row in set (0.00 sec)
【讨论】:
假设您的ID 是该表的primary key - 不,您不必担心该查询。此外,如果不是您的 primary key,但您添加了索引 (How do I add indices to MySQL tables?),也可以。
确保您再次保护自己 SQL 注入 (How can I prevent SQL injection in PHP?),因此不要直接将您的 path-parameter 或 query-parameter 插入到您的 SQL 查询中。
【讨论】:
只要 id 列被索引,不,你真的不必担心这个特定的查询。
【讨论】: