php &

2 Cevap php
  1. Aşağıdaki 3 Sorguları hangisi daha hızlı olacak? Neden?
  2. Ben başka benim app içinde bir sürü katıldı bir sürü bu tür sorguları kullanın. bu yüzden kriter onların hızı için herhangi bir yolu var mı? Eğer evet ise, ne olduğunu belirtin olabilir / bunlar?

Query 1:

$q = "SELECT COUNT(books.id) FROM books 
INNER JOIN books_type ON books.id = books_type.id
WHERE books_type.book_type = 'Comedy'";

Query 2:

$q = "SELECT COUNT(*) FROM books 
INNER JOIN books_type ON books.id = books_type.id
WHERE books_type.book_type = 'Comedy'";

Query 3:

$q = "SELECT books.id FROM books 
INNER JOIN books_type ON books.id = books_type.id
WHERE books_type.book_type = 'Comedy'";

$books_count = mysql_num_rows($q);

Teşekkür ederim.

2 Cevap

Sen EXPLAIN query_here öğrenmek için deneyebilirsiniz.

Örneğin:

EXPLAIN SELECT books.id FROM books 
INNER JOIN books_type ON books.id = books_type.id
WHERE books_type = 'Comedy'

Bu size bazı her sorgu hakkında bilgi ve nasıl yaptıkları verecektir. EXPLAIN deyimi MySQL kılavuzunda daha fazla bilgi:

"Eğer anahtar kelime EXPLAIN ile bir SELECT deyimi önüne, MySQL sorgu yürütme planı hakkında optimizer gelen bilgileri görüntüler. İşte, MySQL tablo birleştirilir nasıl ve hangi sırayla bilgiler dahil, bu seçme işlemini nasıl açıklıyor"

http://dev.mysql.com/doc/refman/5.0/en/using-explain.html

Ben de Veritabanı Journal MySQL sorguları optimize etmek için bu öğretici tavsiye:

http://www.databasejournal.com/features/mysql/article.php/1382791/Optimizing-MySQL-Queries-and-Indexes.htm

Neden yıllardan gider kolayca kendiniz test edebilirsiniz olsa da, here's bir makale. Buna göre, ikinci bir hızlı olmalıdır.