मैं इस समस्या को अपने उपयोगकर्ताओं के एक छोटे समूह की ओर से पूछ रहा हूं जिसमें यह समस्या है।MySQL MAX_JOIN_SIZE त्रुटियां
The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay
मैं संभव के रूप में इस के रूप में ज्यादा शोध किया और एक जवाब के बारे में कुछ पाया है: http://dev.mysql.com/doc/refman/5.0/en/set-option.html
एक बार स्क्रिप्ट वे उपयोग कर रहे 21 वीं आईडी के लिए हो जाता है, यह निम्न त्रुटि उत्पन्न करता है समस्या यह है कि वे साझा होस्टिंग पर हैं ताकि वे त्रुटियों को ठीक करने के लिए अपनी MySQL सेटिंग्स को परिवर्तित नहीं कर सकें।
क्या कोई ऐसी चीज है जो मैं अपनी लिपि में लिख सकता हूं ताकि उन्हें यह समस्या न हो?
यह वह फ़ंक्शन है जो डेटाबेस क्वेरी उत्पन्न करता है, जिसके आधार पर कौन से मॉड्यूल लोड होते हैं: $ sql = 'आईडी के रूप में a.id चुनें, a.address पते के रूप में';
$query = 'SELECT'
. ' name AS module_name'
. ', databasename AS module_database'
. ', pregmatch AS module_pregmatch'
. ', pregmatch2 AS module_pregmatch2'
. ', html AS module_html'
. ', sqlselect AS database_sqlselect'
. ', sqljoin AS database_sqljoin'
. ', sqlupdatewithvalue AS database_sqlupdatewithvalue'
. ', sqlupdatenovalue AS database_sqlupdatenovalue'
. ' FROM #__aqsgmeta_modules'
. ' WHERE enabled = 1'
. ' ORDER BY id';
$db->setQuery($query);
$results = $db->loadObjectList();
if (count($results) != 0) {
foreach ($results as $result) {
$sqlselect .= ', ';
$sqlselect .= $result->database_sqlselect;
$sqljoin .= ' ';
$result->database_sqljoin = preg_replace('/\{DATABASENAME\}/Ui', $result->module_database, $result->database_sqljoin);
if (!(preg_match("/" . $result->database_sqljoin . "/Ui", $sqljoin)))
$sqljoin .= $result->database_sqljoin;
}
}
if ($use_sh404sef)
$sqlselect .= ', g.oldurl AS sefurl';
$sql .= $sqlselect;
$sql .= ' FROM #__aqsgmeta_address AS a';
$sql .= $sqljoin;
if ($use_sh404sef)
$sql .= ' LEFT JOIN #__redirection AS g ON g.newurl = a.address';
$sql .=
//. ' WHERE a.id IN (' . $cids . ')'
' WHERE a.id = ' . $id
. ' ORDER BY a.address asc,a.id '
;
$db->setQuery($sql);
$rows = $db->loadObjectList();
आप पूरी तरह से सुनिश्चित हैं कि क्वेरी अनुकूलित है, यानी कम मध्यस्थ परिणाम सेट के साथ एक ही परिणाम प्राप्त करने का कोई तरीका नहीं है? – VolkerK