我正在优化MySQL查询,但遇到了一个奇怪的问题。我从不使用实时生产数据库,因此我创建了一个转储,并使用mysqldump将其导入到本地计算机上的数据库中,没有额外的选项。
生产数据库上的mysql版本与我的本地虚拟机几乎完全相同:
生产: mysql 14.14远端5.1.61,用于debian gnu (x86_64),使用readline 6.2
虚拟机: mysql 14.14远端5.1.63,debian gnu (x86_64),使用readline6.2
这个查询非常复杂,在生产过程中需要4到5秒左右,但是在VM上所花费的时间不到1秒。我唯一能想到的是,生产数据库上可能有锁阻止查
我有一个很大的单词列表,大约有一百万个单词。如果我使用关系数据库,如MySQL或SQL Server,并将所有单词放在一个表的一列中,我期望的性能会是什么?数据库必须做的很简单:只搜索包含一些给定字母的单词(例如:A O E P L M N U S)。(就像拼字游戏一样)必须产生结果:
maple
ample
mole
lamp
palm
mope
poem
等等..。
你怎么想的?我能期待从数据库得到足够快的响应吗?我必须使用什么数据库,MySQL是不是很好的选择?除了SQL SERVER 2010之外,我没有其他产品。
我正在使用MySQL数据库服务器。我的问题是:
数一数,他们有多少客户,他们只有一个订单,有多少客户,他们有超过1个订单。
这是我的SQL查询:
SELECT
COUNT((SELECT
customer_code
FROM
customer AS c
LEFT JOIN
order_info AS oi ON (c.customer_code = oi.customer_code)
GROUP BY customer_code
我想看看一个数组在数据库中有多少。它相当慢,我想知道是否有一种方法可以搜索多个单词或没有for循环的整个数组。我已经挣扎了一段时间了。
这是我的代码
$dateBegin = "2010-12-07 15:54:24.0";
$dateEnd = "2010-12-30 18:19:52.0";
$textPerson = " text text text text text text text text text text text text text text ";
$textPersonExplode = expl
我有一个带有几个表的mySQL数据库。但是,一个表包含140万行af。我需要得到一个字段中值最高的50,000行。一个能统计来访者的领域。
SELECT uid, title, number, views
FROM ct
WHERE hidden = 0
AND deleted = 0
AND number > 0
AND status LIKE 'active'
order by views desc
limit 0, 50000
它非常慢。数据库是InnoDB,标题、数字和视图都是索引的。
我怎样才能加快选择的速度?
来自解释:
1 SIMPLE c