मेरे पास मेरी PHP फ़ाइल पर एक फ़ंक्शन है जो जांचता है कि कोई आईपी प्रतिबंधित है या नहीं। किसी कारण से मेरी साइट बहुत धीमी है और समस्या तब होती है जब मैं जांचता हूं कि आईपी प्रतिबंधित है या नहीं।mysql क्वेरी धीमी - आईपी लुकअप (प्रतिबंधित या नहीं)
(मैं कोड है कि जाँच करता है को हटाने और अपनी साइट तेजी से फिर से किया गया था)
यहाँ मेरी कोड है:
// index.php - everything redirects to this file in the .htaccess
<?php
include('config.php');
if(isIpBanned($_SERVER['REMOTE_ADDR'])) {
die('access denied');
}
// rest of the code
यहाँ मेरी समारोह
// config.php
<?php
function isIpBanned($db, $ip) { // $db is declared correctly
$goodIP = $db->getRecord("SELECT is_banned FROM security.ip WHERE ip = '$ip'"); // this function works and return 1 or 0
return (bool)$goodIP;
}
इस सवाल के बारे में 2 सेकंड लेता है चलाने के लिए 3 सेकंड। क्यूं कर? मैंने शामिल नहीं किया है या अन्य टेबल नहीं छोड़े हैं।
धन्यवाद
1.1.1.1 एक इंटरजर नहीं है, तो आप डेटा प्रकार के रूप में कैसे आईएनटी कर सकते हैं? –
@ जीनो लुकअप 'ip2long' और' long2ip' PHP फ़ंक्शन या 'INET_ATON()' और 'INET_NTOA()' MySQL फ़ंक्शंस – CAFxX
INT लुकअप के लिए CHAR (20) से तेज है? –