Mysql
 sql >> база данни >  >> RDS >> Mysql

Трябва ли да използвам подготвени изрази за MySQL в PHP PERFORMANCE-WISE?

Историята

Това беше първият ми отговор на Stackoverflow. Оттогава много се промениха, особено оттеглянето и премахването на mysql API. Дори ако все още сте на php 5.6, mysql_* api не трябва да се използва. Сега PDO или mysqli са единствените опции за избор. ЗНП е по-добре по много причини.

Кеширани ли са подготвените оператори при зареждане на страници?

Същият подготвен оператор няма да се използва между зарежданията на страницата. Всеки път трябва да се приготвя. Ако притискането на всяка голяма милисекунда има значение, съхранената процедура може да е добра идея (ако приемем, че имате сложна заявка).

За големи вмъквания (хиляди редове) Вероятно може да се постигне по-голям тласък чрез изхвърляне на вашите данни в текстов файл и зареждането му с LOAD DATA IN FILE . Това е много по-бързо от поредица от вмъквания.

Оригиналния отговор

Истината е, че понякога mysqli е по-бърз, а друг път mysql api е по-бърз. Но разликата е наистина малка. Ако погледнете някой от тестовете за производителност в мрежата, разликата наистина е само 10 - 20 милисекунди. Най-добрият начин за повишаване на производителността е да оптимизирате дизайна на таблицата.

Много от тестовете, които „доказват“, че по-старият API е по-бърз, забравят, че за максимална сигурност трябва да се извика mysql_real_escape_string() за всяка променлива, използвана в заявката.

Заявките се кешират от сървъра, ако и само ако данните за всички таблици, използвани в заявката, са останали непроменени.

Изчакайте друга актуализация с действителни числа



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server предлага ли нещо като MySQL ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИРАН КЛЮЧ

  2. MySQL Изберете само един ред от всеки пациент, диагностициран според първата дата

  3. Как да наблюдавате множество MySQL екземпляри, работещи на една и съща машина - ClusterControl Съвети и трикове

  4. MySQL2 Ruby gem няма да инсталира 10.6

  5. Ехо заявка преди изпълнение и без изпълнение в Codeigniter Active Record