2012-09-07 45 views
0

我的基于CakePHP的框架项目与MySQL数据库。 有时会运行一个很长的sql查询。在查询期间,我无法加载我的项目中的任何页面。但是当我在Adminer(light PhpMyAdmin)中执行这个SQL查询时,我可以加载任何页面和DB中的任何选择。 你能帮我配置吗?CakePHP的长SQL查询

+5

什么是你的查询? –

+1

分享你的模型,你正在运行的查询,否则任何人都不可能帮助你,请指定你真正想要的。 –

+0

我的查询是选择与内部联接。 像这样 从表-B选择。* B内的b.id = a.b_id加入表-A a其中b.some_field =“一些文本” –

回答

1

你提到的问题的查询是:

select a.* from table_b b inner join table_a a on b.id = a.b_id where b.some_field = 'some text' 

你需要确保有以下字段的索引:

b.id 
a.b_id 
b.some_field 
+0

你谈论优化。是的,我在这些领域添加了索引。 我想在其他进程中执行几个查询。 我希望看到的: 我打开一个页面,系统开始这个漫长的查询。 我在浏览器中打开下一个选项卡,并在我的页面中打开其他页面并继续浏览。 –

+0

你说你不能运行任何页面,这对我听起来像在那里也许你有一个长时间运行的查询和连接堆叠等待表锁被释放的情况下。你确定这是导致问题的查询吗? table_b和/或table_a查询每个页面加载? –

+0

对不起,我的英语。 我只想在执行此查询时使用我的网站。 正如我可以做的,当我在adminer中执行此查询。 你了解我吗? –