我正在连接到一个我无法管理的数据库,我编写了一个查询,它在两个表之间进行了左连接--一个小表和一个大几个数量级的表。他们给出的原因是,当按我的方式完成时,MySQL将尝试创建一个太大的临时表,而查询将失败。他们的解决方案在其他地方失败了,但这在这里并不重要。我的问题是--一般情况下,这样做的方式('small_table LEFT join large_table')是糟糕的做法,还是这样的查询可以通过适当的索引成功地执行呢?编辑:下面是查询的样子(这不是实际的查询,
我有一个mysql内存表,其中包含分配给每行的优先级。我每2分钟创建一次这个表,并且这个表几乎每秒被调用100次。select * from table order by priority limit 0,20
我想优化这个query.Can,我在创建表时将数据放在排序的顺序中,并且可以假定如果我删除the order by子句,拉出的数据将始终根据优先级进行排序。
在mysql中运行查询时,得到了一些奇怪的结果: SELECT * WHERE name LIKE CONCAT('%','SZ','%')windows上的mysql似乎很旧,我没有停止它,它似乎崩溃了,所以我卸载它,然后下载mysql5.6,然后安装,现在2 sql工作一样。
抱歉,这是无谓的问题。用mysql5.6现在可以了。
我在mysql中有一个包含utf8字符集和utf8_general_ci排序规则的InnoDB表。在以下查询之后:WHERE `text` LIKE '%abc%'它返回包含"äbc“和"abc我曾尝试在表上使用utf8_bin排序规则,但没有帮助。附注:我认为问题出在PHP连接字符集,但在Sequel Pro上执行查询后,