0

我正在运行一个 8gb 内存、四核、SSD 云服务器。

根据 New Relic 的说法,大多数数据库查询速度很快,但一个查询只更新一列一行最多需要 16 秒。

我的查询是:

UPDATE user SET ad=$currentAdSet WHERE ckey='$_COOKIE[ckey]'

我正在使用mysql_query("")php 函数来执行查询。

Muuser表大约有 43000 行,结构简单。

为什么这个查询需要这么长时间?有任何想法吗?

4

3 回答 3

2

尝试添加索引ckey并再次检查时间。我会建议一些关于索引的阅读。

顺便说一句,直接使用 cookie 值可能会导致 SQL 注入

于 2013-03-31T19:18:26.970 回答
2

您可以尝试使用EXPLAIN. 然后,根据您看到的瓶颈,使用索引。

于 2013-03-31T19:19:19.093 回答
0

确保ckey已编入索引,如果不需要,广告未编入索引。

第一个将允许更快地选择记录,第二个更快的更新

希望这可以帮助

于 2013-03-31T19:26:46.070 回答