Ενημέρωση PHP και MySQL σας με τις τελευταίες εκδόσεις από τις ιστοσελίδες τους . Οι παλιές εκδόσεις μερικές φορές έρχονται σε σύγκρουση με το άλλο, ενώ οι νεότερες εκδόσεις διαθέτουν διορθώσεις σφαλμάτων και είναι πιο πιθανό να είναι συμβατά μεταξύ τους . 2
Ανοίξτε το αρχείο σας " my.cnf " MySQL σε ένα πρόγραμμα επεξεργασίας κειμένου , όπως το Windows σημειωματάριο . Εντοπίσετε και να ρυθμίσετε το " log_slow_queries " επιλογή " ON" αντί για " OFF" . Ρυθμίστε το " long_query_time " σε ένα μικρό αριθμό , όπως το "1" και σημειώστε την "log - αργή - ερωτήματα " κατάλογο . Ανανέωση της υπηρεσίας σας MySQL . Η " mysql - slow.log " θα εμφανίσει τώρα ποια ερωτήματα να πάρει πολύ χρόνο για να εκτελέσει . Αυτό θα σας βοηθήσει να προσδιορίσετε πόσο συχνά το ερώτημά σας εκτελεί αργά .
Εικόνων 3
Τοποθετήστε το " εξηγήσουν " δήλωση στο ερώτημά σας πριν από μια "SELECT " δήλωση για την ανάκτηση πληροφοριών από τον optimizer για το πώς σας το ερώτημα θα εκτελεστεί . Η έξοδος που προκύπτει μπορεί να αποκαλύψει την αιτία της αργής ερώτημά σας , όπως μια ελλείπουσα δείκτη
Η 4
Ώρα PHP ερώτημά σας με τη λειτουργία " microtime " με την προσθήκη του παρακάτω κώδικα όπου βρίσκεται το ερώτημά σας : .
$ time_beg = microtime ( αλήθεια)?
//τοποθετήστε το ερώτημά σας εδώ
$ time_end = microtime ( αλήθεια)?
$ time_res = $ time_end - $ time_start ?
echo " το ερώτημα πήρε $ time_res δευτερόλεπτα " ?
Αυτό επιβεβαιώνει ότι το ερώτημα είναι η αργή μέρος και όχι σε κάποιο άλλο μέρος του κώδικά σας . Εκτελέστε τον κώδικα πολλές φορές μέχρι να έχετε μια συνεπή χρόνο . Η τιμή αυτή συγκρίνεται χρόνο όταν κάνετε οποιεσδήποτε μελλοντικές τροποποιήσεις χρονισμού
5
Ελέγξτε για τυχόν λάθη με τη λειτουργία " mysql_error " με την προσθήκη του παρακάτω κώδικα όπου βρίσκεται το ερώτημά σας : .
$ result = mysql_query ( $ query ) ?
εάν ( $ αποτέλεσμα ! ) {
$ msg = ' σφάλμα ερωτήματος : « . mysql_error ( ) . " \\ n" ?
πεθάνει ( $ msg )
}
Η 6
Χρησιμοποιήστε την επέκταση PHP pdo_mysql να αναζητούν τη βάση δεδομένων σας , αντί του κανονικού " mysql_query » ή " mysqli " λειτουργίες . Η επέκταση pdo_mysql χρησιμοποιεί εγγενή υποστήριξη παρασκευάζεται δήλωση της MySQL , η οποία μπορεί να βοηθήσει να επιταχύνει τα ερωτήματα σας . Ο κώδικας που ακολουθεί είναι ένα παράδειγμα για το πώς να στείλει ένα ερώτημα MySQL με την επέκταση pdo_mysql :
$ db_info = ' mysql : host = localhost ? Port = 3306 ? Dbname = mydb' ?
$ user = "Όνομα Χρήστη" ?
$ περάσει = «κωδικό πρόσβασης» ?
try {
$ db_handle = new ΠΟΠ ( $ db_info , $ user , $ pass) ?
}
αλιευμάτων ( PDOException $ εξαίρεση) {
printf ( " Σφάλμα : % s " , $ εξαίρεση - > GetMessage ( ) ) ?
}
$ db_handle - > setAttribute ( ΠΟΠ :: ATTR_ERRMODE , ΠΟΠ :: ERRMODE_EXCEPTION ) ?
$ db_handle - > setAttribute ( ΠΟΠ :: ATTR_AUTOCOMMIT , false) ?
$ sql = " SELECT * FROM MyTable " ?
$ result_set = $ db_handle - > ερώτημα ( $ sql ) ?
$ result_set - > setFetchMode ( ΠΟΠ :: FETCH_ASSOC ) ?
while ( $ γραμμή = $ result_set - > fetch ( ) ) {
$ data = $ γραμμή [" MyColumn "]?
}
$ result_set - > closeCursor ( ) ?
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα