Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Норматив быстродействия базы

Сообщения:  [1-10]   [11-12] 

 
 автор: Владимир55   (02.03.2009 в 22:41)   письмо автору
 
   для: Trianon   (02.03.2009 в 22:06)
 

Я то мерил в секундах, а Ваша версия работает быстрее 1 секунды, потому и неопределенность. Но теперь, ради интереса, измерил поточнее. И получился выигрыш в 45 раз!

  Ответить  
 
 автор: Trianon   (02.03.2009 в 22:08)   письмо автору
 
   для: Владимир55   (02.03.2009 в 21:38)
 

SELECT DISTINCT - вообще тяжелый запрос...

  Ответить  
 
 автор: Trianon   (02.03.2009 в 22:06)   письмо автору
 
   для: Владимир55   (02.03.2009 в 21:38)
 

Измерительное средство - это функция microtime(1) , дающая точность 10-6 сек

  Ответить  
 
 автор: Владимир55   (02.03.2009 в 21:38)   письмо автору
 
   для: Trianon   (02.03.2009 в 20:30)
 

Измерительное средство не располагает достаточным разрешением, но раз в 15-20 быстрее - это наверняка.

================
Начитавшись книжек о необычайном быстродействии выборки в MySQL, я даже не ставил своей целью экономию ресурсов (а хоть бы и ставил, в силу отсутствия навыков вряд ли бы чего достиг - тут хоть бы как-нибудь то заработало!).

Но на практике пришлось уже дважды повысить хостинговый тариф, ибо, по сравнению с рнр как таковым, база оказалась весьма требовательной к производительности процессора, ибо при выполнении любого запроса съедает абсолютно все, оставшееся от апача.

  Ответить  
 
 автор: Trianon   (02.03.2009 в 20:30)   письмо автору
 
   для: Владимир55   (02.03.2009 в 20:11)
 

во сколько раз быстрее?

  Ответить  
 
 автор: Владимир55   (02.03.2009 в 20:11)   письмо автору
 
   для: Trianon   (02.03.2009 в 19:57)
 

То есть, можно и так (оно работает):
    $query = "
    INSERT INTO ip_arh (dat_arh, ip)
    SELECT DISTINCT '$dat_arh', ip
    FROM log_vh WHERE time > '$seg_sec'";
    mysql_query($query);

  Ответить  
 
 автор: Trianon   (02.03.2009 в 19:57)   письмо автору
 
   для: Владимир55   (02.03.2009 в 19:50)
 

SELECT DISTINCT запрашивает уникальными целые строки выборки, а вовсе не отдельные поля, как многие думают.
кроме того так цитировать неправильно.
в запросе будет уже
SELECT DISTINCT '2009-03-02' AS dat_arh, ip ....

собственно алиас здесь можно и не ставить... соответственно будет
SELECT DISTINCT '2009-03-02', ip ....

  Ответить  
 
 автор: Владимир55   (02.03.2009 в 19:50)   письмо автору
 
   для: Trianon   (02.03.2009 в 19:26)
 

Так получилось время ноль. Иной раз 1 секунда.

Но вот это
SELECT DISTINCT '$dat_arh' AS dat_arh, ip 
я никак понять не могу! Даже гипотезы нет, что это означает...
Как $dat_arh попало в критерий уникальности?

Это можно выразить словами?

  Ответить  
 
 автор: Trianon   (02.03.2009 в 19:26)   письмо автору
 
   для: Владимир55   (02.03.2009 в 19:21)
 

VALUES то зачем?

$query = "
    INSERT INTO ip_arh (dat_arh, ip) 
      SELECT DISTINCT '$dat_arh' AS dat_arh, ip 
        FROM log_vh WHERE time > '$seg_sec'";
mysql_query($query);

  Ответить  
 
 автор: Владимир55   (02.03.2009 в 19:21)   письмо автору
 
   для: Trianon   (02.03.2009 в 18:53)
 

Одним запросом я не сумел. Пытался вот так:
    $query = "
    INSERT INTO ip_arh (dat_arh, ip) VALUES ('$dat_arh', '$ip')
      SELECT DISTINCT ip FROM log_vh WHERE time > '$seg_sec'";
    mysql_query($query);

  Ответить  

Сообщения:  [1-10]   [11-12] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования