我有这个查询非常具体,并返回我需要的.众所周知,mysql中的嵌套查询在运行时方面可能非常糟糕.如果有人可以帮助我将以下代码转换为JOIN声明,我将非常感激.
当然,欢迎并鼓励任何其他优化.
SELECT title
FROM exp_channel_titles
WHERE entry_id IN (SELECT rel_child_id
FROM exp_relationships
WHERE rel_id IN (SELECT field_id_202
FROM exp_channel_data
WHERE entry_id = 19971));
Run Code Online (Sandbox Code Playgroud)
谢谢!
我没有处理具体情况,所以请考虑更多的一般性问题.如果语言很重要,答案可能更倾向于PHP.
如果我在多个函数中需要大数组(或其他数据类型)的数据,但这不会改变,我应该如何使用该数据?例如,也许我有一个看起来像的数组
$states = array(
"AL" => "Alabama",
...
"WY" => "Wyoming"
);
Run Code Online (Sandbox Code Playgroud)
显然,这个阵列不需要很快改变.如果我有五个必须使用上述数组的函数,那么最佳解决方案是什么?我的三个想法是:
这个似乎是最直接的,但是我谈过的一些人似乎建议不要使用全局变量.任何见解将不胜感激.
这对我来说似乎是一个坏主意,因为它永远不会改变,函数参数应该是变量,对吧?更不用说必须将它传递给不使用它的函数,只是因为它可以被另一个函数使用.这似乎是一种糟糕的做法.
这是一个我没有看过很多用过的东西,但是我已经习惯了几次将mysqli_connect()信息传递给多个函数.它工作得很好.这被视为不良做法吗?我应该吮吸它并使用全局常量吗?
我意识到使用全局常量听起来很明显,但我听过(和读过)不止一个咒语,"如果你宣布全局,你做错了"等等.任何人都可以解释为什么会这样吗?
谢谢你能给我的任何见解,伙计们.