LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
28.05.2012, 03:13:17 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: 1 [2] 3 4 5 6   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Хаки для убыстрения VirtueMart (уменьшение запросов и т.п.)  (Прочитано 39786 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
yadrinez
Осваиваюсь на форуме
***

Репутация: +9/-0
Offline Offline

Сообщений: 116


« : 26.11.2009, 21:38:07 »

 Предлагаю помещать в эту тему простые хаки для улучшения производительности VirtueMart.
Сам я недавно ковыряюсь в нем.
Сегодня например сделал следующее:
В файле ps_product.php есть функция function get_flypage($product_id),
которая возвращает шаблон товара.
Внутри функции есть запрос от которого я предполагаю можно избавиться, если шаблон для отображения товара используем один.

Первоначальная функция
Код:
function get_flypage($product_id) {


if( empty( $_SESSION['product_sess'][$product_id]['flypage'] )) {
$db = new ps_DB;
$productParentId = (int)$product_id;
do {
$q = "SELECT
                                `#__{vm}_product`.`product_parent_id` AS product_parent_id,
                                `#__{vm}_category`.`category_flypage`
                        FROM
                                `#__{vm}_product`

                        LEFT JOIN `#__{vm}_product_category_xref` ON `#__{vm}_product_category_xref`.`product_id` = `#__{vm}_product`.`product_id`
                        LEFT JOIN `#__{vm}_category` ON `#__{vm}_product_category_xref`.`category_id` = `#__{vm}_category`.`category_id`

                        WHERE `#__{vm}_product`.`product_id`='$productParentId'
                        ";
$productParentId = $db->f("product_parent_id");
$db->query($q);
$db->next_record();
}
while( $db->f("product_parent_id") && !$db->f("category_flypage"));

if ($db->f("category_flypage")) {
$_SESSION['product_sess'][$product_id]['flypage'] = $db->f("category_flypage");
} else {
$_SESSION['product_sess'][$product_id]['flypage'] = FLYPAGE;
}
}
return $_SESSION['product_sess'][$product_id]['flypage'];
}

Функция после переделки
Код:
function get_flypage($product_id) {
$_SESSION['product_sess'][$product_id]['flypage'] = "mypage.tpl";
return $_SESSION['product_sess'][$product_id]['flypage'];
}

Я принудительно задаю шаблон для отображения страницы "mypage.tpl"
Так как на сайте всегда использую только его
Записан
 
cadet
Давно я тут
****

Репутация: +17/-0
Offline Offline

Пол: Мужской
Сообщений: 282


« Ответ #31 : 19.02.2010, 18:42:14 »

Второй вариант с заменой файла из архива shop_browse_queries.rar

Результат - никаких улучшений. запросов сколько было, столько и осталось.
Записан
haword
Осваиваюсь на форуме
***

Репутация: +25/-0
Offline Offline

Сообщений: 131


« Ответ #32 : 19.02.2010, 19:25:00 »

должно время сократиться было.

вот еще хаки, заменить ими существующие файлы, старые сохранить потом если будут глюки вернуть назад.
не забываем отписаться о результатах


* hack_mod.zip (31.37 Кб - загружено 515 раз.)
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #33 : 19.02.2010, 22:11:20 »

С помощью изменения shop_browse_queries нисколько запросов не уберется т.к. весь файл - один единственный запрос.
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #34 : 19.02.2010, 22:15:56 »

Большинство ненужных запросов генерят функции определения флайпейджа, итемида и урл. А так-же если кто не выключил - рекомендуемые товары и недавно просмотренные товары. А так-же функция вывода цены. Все остальное конечно тоже можно поправить, но оптимизация вышеназванных функций приведет к уменьшению запросов раза в 2.
Записан
cadet
Давно я тут
****

Репутация: +17/-0
Offline Offline

Пол: Мужской
Сообщений: 282


« Ответ #35 : 19.02.2010, 23:03:45 »

должно время сократиться было.
Вот результат.

Было:
Код:
Информация о профиле
Application afterLoad: 0.004 seconds, 0.27 MB
Application afterInitialise: 0.077 seconds, 2.79 MB
Application afterRoute: 0.105 seconds, 4.32 MB
Application afterDispatch: 1.116 seconds, 13.12 MB
Application afterRender: 1.496 seconds, 15.12 MB
Использование памяти
15912928
Зарегистрировано запросов: 1541

Стало
Код:
Информация о профиле
Application afterLoad: 0.003 seconds, 0.27 MB
Application afterInitialise: 0.076 seconds, 2.76 MB
Application afterRoute: 0.104 seconds, 4.28 MB
Application afterDispatch: 1.035 seconds, 12.93 MB
Application afterRender: 1.428 seconds, 14.93 MB
Использование памяти
15708616
Зарегистрировано запросов: 1418


Далее. Отключил модуль VirtueMart который сбоку дерево товаров отображал - с 900 запросов стало 69. Т.е. боковое дерево формирует очень много запросов в базу. Надо с этим что-то делать...
Записан
cadet
Давно я тут
****

Репутация: +17/-0
Offline Offline

Пол: Мужской
Сообщений: 282


« Ответ #36 : 19.02.2010, 23:04:50 »

Вот результат.

Было:
Код:
Информация о профиле
Application afterLoad: 0.004 seconds, 0.27 MB
Application afterInitialise: 0.077 seconds, 2.79 MB
Application afterRoute: 0.105 seconds, 4.32 MB
Application afterDispatch: 1.116 seconds, 13.12 MB
Application afterRender: 1.496 seconds, 15.12 MB
Использование памяти
15912928
Зарегистрировано запросов: 1541

Стало
Код:
Информация о профиле
Application afterLoad: 0.003 seconds, 0.27 MB
Application afterInitialise: 0.076 seconds, 2.76 MB
Application afterRoute: 0.104 seconds, 4.28 MB
Application afterDispatch: 1.035 seconds, 12.93 MB
Application afterRender: 1.428 seconds, 14.93 MB
Использование памяти
15708616
Зарегистрировано запросов: 1418


Далее. Отключил в модуле VirtueMart, который сбоку, дерево товаров - с 648 запросов стало 69. Т.е. боковое дерево формирует очень много запросов в базу. Надо с этим что-то делать...
« Последнее редактирование: 19.02.2010, 23:25:50 от cadet » Записан
haword
Осваиваюсь на форуме
***

Репутация: +25/-0
Offline Offline

Сообщений: 131


« Ответ #37 : 20.02.2010, 01:52:58 »

С помощью изменения shop_browse_queries нисколько запросов не уберется т.к. весь файл - один единственный запрос.
я пытался его оптимизировать на локале получилось в реале маленький эффект
Записан
soter
Захожу иногда
**

Репутация: +2/-0
Offline Offline

Сообщений: 21


« Ответ #38 : 22.02.2010, 23:07:46 »

В магазине 8000 товаров. около 70 категорий. При выводе 20 товаров в категории генерируется 350-420 запросов. При просмотре товара генерируется около 60 запросов.

Методом научного втыка были проведены следующие изменения.



ps_perm.php

Запрос

строка 35

         
Код:
$db->query('SELECT group_id,group_name,group_level FROM `#__{vm}_auth_group` ORDER BY group_level');

         
ps_product.php

строка 654-656

      
Код:
$q  = "SELECT `product_type_id` FROM `#__{vm}_product_product_type_xref` WHERE ";
$q .= "`product_id`=$product_id";
$db->query($q);

строка 823

      
Код:
$db->query( "SELECT file_id FROM #__{vm}_product_files WHERE file_product_id='$product_id'" );

строка 1033-1035

         
Код:
$q  = "SELECT COUNT(product_id) as num_rows FROM #__{vm}_product WHERE product_parent_id='$pid' ";
$db->query($q);
$db->next_record();

строка 1148-1153

      
Код:
$q = "SELECT #__{vm}_vendor.vendor_name FROM #__{vm}_product, #__{vm}_vendor ";
$q .= "WHERE #__{vm}_product.product_id='$product_id' ";
$q .= "AND #__{vm}_vendor.vendor_id=#__{vm}_product.vendor_id";

$db->query($q);
$db->next_record();

строка 1217-1221

Код:
$q = "SELECT manufacturer_id FROM #__{vm}_product_mf_xref ";
$q .= "WHERE product_id='$product_id' ";

$db->query($q);
$db->next_record();

строка 1239-1244

Код:
$q = "SELECT mf_name,#__{vm}_manufacturer.manufacturer_id FROM #__{vm}_product_mf_xref,#__{vm}_manufacturer ";
$q .= "WHERE product_id='$product_id' ";
$q .= "AND #__{vm}_manufacturer.manufacturer_id=#__{vm}_product_mf_xref.manufacturer_id";

$db->query($q);
$db->next_record();

строка 1577-1579

            
Код:
$q = 'SELECT tax_rate FROM #__{vm}_product, #__{vm}_tax_rate ';
$q .= 'WHERE product_tax_id=tax_rate_id AND product_id='.(int)$product_id;
$db->query($q);

строка 2324-2327

         
Код:
$q = "SELECT amount,is_percent FROM #__{vm}_product,#__{vm}_product_discount ";
$q .= "WHERE product_id='$product_id' AND (start_date<='$starttime' OR start_date=0) AND (end_date>='$endofday' OR end_date=0) ";
$q .= "AND product_discount_id=discount_id";
$db->query( $q );

строка 2339-2340
Код:
               $q = "SELECT product_parent_id FROM #__{vm}_product WHERE product_id=$product_id";
                $db->query($q);

строка 2342-2345

        
Код:
$q = "SELECT amount,is_percent FROM #__{vm}_product,#__{vm}_product_discount ";
$q .= "WHERE product_id='".$db->f("product_parent_id")."' AND (start_date<='$starttime' OR start_date=0) AND (end_date>='$endofday' OR end_date=0) ";
$q .= "AND product_discount_id=discount_id";
db->query( $q );
строка 2645

   
Код:
       $q .= "(#__{vm}_product.product_parent_id='' OR #__{vm}_product.product_parent_id='0') \n";

строка 2763-2772

         
Код:
$q = "SELECT product_name, category_name, c.category_flypage,product_s_desc,product_thumb_image ";
$q .= "FROM #__{vm}_product as p,#__{vm}_category as c,#__{vm}_product_category_xref as cx ";
$q .= "WHERE p.product_id = '$prod_id' ";
$q .= "AND c.category_id = '$category_id' ";
$q .= "AND p.product_id = cx.product_id ";
$q .= "AND c.category_id=cx.category_id ";
$q .= "AND p.product_publish='Y' ";
$q .= "AND c.category_publish='Y' ";
$q .= "LIMIT 0,1";
$db->query( $q );

файл ps_product_attribute.php

строка 263-264

Код:
$q = "SELECT product_id,product_name FROM #__{vm}_product WHERE product_parent_id='$product_id' AND product_publish='Y'" ;
$db->query($q.$q1);

строка 720-722

Код:
$q = "SELECT product_id, attribute, product_parent_id FROM #__{vm}_product WHERE product_id='$product_id'";
$db->query($q);
$db->next_record();
      
строка 725-727

Код:
$q = "SELECT product_id, attribute FROM #__{vm}_product WHERE product_id='$parent_id'";
$db->query($q);
$db->next_record();

строка 809-811

Код:
$q = "SELECT product_id, custom_attribute, product_parent_id FROM #__{vm}_product WHERE product_id='$product_id'";
$db->query($q);
$db->next_record();

строка 814-816
Код:
$q = "SELECT product_id, custom_attribute FROM #__{vm}_product WHERE product_id='$parent_id'";
$db->query($q);
$db->next_record();

файл ps_product_category.php

строка 926-933

Код:
$q = "SELECT category_id, category_thumb_image, category_child_id,category_name FROM #__{vm}_category,#__{vm}_category_xref ";
$q .= "WHERE #__{vm}_category_xref.category_parent_id='$category_id' ";
$q .= "AND #__{vm}_category.category_id=#__{vm}_category_xref.category_child_id ";
$q .= "AND #__{vm}_category.vendor_id='$ps_vendor_id' ";
$q .= "AND #__{vm}_category.category_publish='Y' ";
$q .= "ORDER BY #__{vm}_category.list_order, #__{vm}_category.category_name ASC";
$db->setQuery($q);
$db->query();

строка 1202-1206

Код:
$q = "SELECT category_id, category_description FROM #__{vm}_category ";
$q .= "WHERE category_id='$category_id' ";
$db->setQuery($q);   $db->query();

$db->next_record();
      
строка 1274-1278

Код:
$q = "SELECT category_id, category_name,category_parent_id FROM #__{vm}_category, #__{vm}_category_xref WHERE ";
$q .= "#__{vm}_category_xref.category_child_id='$category_id' ";
$q .= "AND #__{vm}_category.category_id='$category_id'";
$db->setQuery($q);   $db->query();
$db->next_record();

файл product.file_list.php

строка 604-611

Код:
$sql = 'SELECT DISTINCT file_id, file_mimetype, file_title, file_name'
. ' FROM `#__{vm}_product_files` WHERE ';
if( $exclude_filename ) {
$sql .= ' file_title != \''.$exclude_filename.'\' AND ';
}
$sql .= 'file_product_id = \''.$product_id.'\' AND file_published = \'1\' AND file_is_image = \'0\'';
$dbf->setQuery($sql);
$dbf->query();
      
строка 682
      
Код:
$db->query( "SELECT * FROM `#__{vm}_product_files` WHERE `file_product_id`=".intval($pid)." AND `file_is_image`=1 AND `file_published`=1" );

строка 684-685

Код:
$db->query("SELECT product_parent_id FROM #__{vm}_product WHERE product_id=".intval($pid) );
$db->query( "SELECT * FROM `#__{vm}_product_files` WHERE `file_product_id`=".$db->f("product_parent_id")." AND `file_is_image`=1 AND `file_published`=1" );

строка 693

      
Код:
$db->query( "SELECT * FROM `#__{vm}_product_files` WHERE `file_product_id`=".intval($pid)." AND `file_is_image`=0 AND `file_published`=1" );

строка 695

         
Код:
$db->query("SELECT product_parent_id FROM #__{vm}_product WHERE product_id='$pid'");

строка 698

         
Код:
$db->query( "SELECT * FROM `#__{vm}_product_files` WHERE `file_product_id`=".$db->f("product_parent_id")." AND `file_is_image`=0 AND `file_published`=1" );

файл ps_product_type.php

строка 514-515

Код:
$q = "SELECT * FROM #__{vm}_product_product_type_xref WHERE product_id='$product_id'";
$db->query($q);

файл ps_shopper_group.php

строка 372-375

Код:
$q = "SELECT shopper_group_id,shopper_group_discount FROM #__{vm}_shopper_group WHERE ";
$q .= "vendor_id='$vendor_id' AND `default`='1'";
$db->query( $q );
$db->next_record();

файл ps_vendor.php
заменить
строка 441-444

Код:
$q = "SELECT vendor_id, vendor_min_pov,vendor_name,vendor_store_name,contact_email,vendor_full_image, vendor_freeshipping,
vendor_address_1,vendor_address_2, vendor_url, vendor_city, vendor_state, vendor_country, country_2_code, country_3_code,
vendor_zip, vendor_phone, vendor_store_desc, vendor_currency, vendor_currency_display_style,
vendor_accepted_currencies, vendor_address_format, vendor_date_format, state_name
на

      
Код:
$q = "SELECT vendor_id, vendor_currency, vendor_currency_display_style
      

файл shop.product_details.php

строка 83-86

Код:
$q = "SELECT product_sku, related_products FROM #__{vm}_product,#__{vm}_product_relations ";
$q .= "WHERE #__{vm}_product_relations.product_id='$product_id' AND product_publish='Y' ";
$q .= "AND FIND_IN_SET(#__{vm}_product.product_id, REPLACE(related_products, '|', ',' )) LIMIT 0, 4";
$db->query( $q );

файл shop_browse_queries.php

заменить строка 37-39

Код:
$fieldnames = "`product_name`,`products_per_row`,`category_browsepage`,`category_flypage`,`#__{vm}_category`.`category_id`,
`#__{vm}_product`.`product_id`,`product_full_image`,`product_thumb_image`,`product_s_desc`,`product_parent_id`,`product_publish`,`product_in_stock`,`product_sku`,`author`,`location`,`publisher`,`god`,`pages`,`isbn`,`format`,`savepages`,`nomer`,`tip`,`product_url`,
`product_weight`,`product_weight_uom`,`product_length`,`product_width`,`product_height`,`product_lwh_uom`,`product_in_stock`,`product_available_date`,`product_availability`,`#__{vm}_product`.`mdate`, `#__{vm}_product`.`cdate`";

на

Код:
$fieldnames = "`product_name`,`products_per_row`,`category_browsepage`,`category_flypage`,
`#__{vm}_product`.`product_id`,`product_s_desc`,`product_sku`,`author`,`location`,`publisher`,`god`,`pages`,`isbn`,`format`,`savepages`,`nomer`,`tip`
";


В результате:

Категории -  сократились с 350-420 до 120
Просмотр товара - с 60 до 30

Все удаленные запросы лично мне не были нужны, возможно кому-то пригодится.

http://www.onlinedisk.ru/file/363934/
« Последнее редактирование: 27.02.2010, 23:42:23 от soter » Записан
haword
Осваиваюсь на форуме
***

Репутация: +25/-0
Offline Offline

Сообщений: 131


« Ответ #39 : 25.02.2010, 22:46:33 »

так еще кое какие модификации, тестировал на общем количестве товара около 10000 штук, грузиться все быстрее из за уменьшения времени выборки товара по условиям из базы, если у кого есть большие объемы протестируйте.
http://files.mail.ru/UZEUQ6
« Последнее редактирование: 25.02.2010, 23:41:41 от haword » Записан
Myff2010
Гость
« Ответ #40 : 27.02.2010, 18:06:09 »

Я не поленился зарегистрироваться на форуме, для того чтобы сказать
haword  - ВЫ ГЕНИЙЙЙЙЙЙЙЙЙЙЙЙЙ!
У нас открывались категории с товарами (от 400 до 4 000 товаров в категории) до 5 минут. Без шуток )
Мы искали решение убыстрения VirtueMart уже несколько недель.
Ваша модификация работает на все 100%  с базой ОБЪЕМОМ 300 000 позиций.
СПАСИБО!

Андрей
« Последнее редактирование: 27.02.2010, 18:40:17 от Myff2010 » Записан
haword
Осваиваюсь на форуме
***

Репутация: +25/-0
Offline Offline

Сообщений: 131


« Ответ #41 : 28.02.2010, 01:01:30 »

Да не за что. У меня все работало на 5 MySQL а вот на 4 MySQL при поиске товара шли те же тормоза, оптимизатор наверно неправильно работает, я пока не разобрался.
Блин а 300 000 это круто Azn я думал все равно умрет на таком объеме. Ну вот хоть у одного заработало а то судя по нулевой реакции народа думал мало у кого заработало.
« Последнее редактирование: 28.02.2010, 01:06:02 от haword » Записан
Myff2010
Гость
« Ответ #42 : 28.02.2010, 12:24:29 »

Как зальем весь объем, сообщим результаты на объеме 800.....
Записан
pr0zz
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #43 : 01.03.2010, 17:39:26 »

Я не поленился зарегистрироваться на форуме, для того чтобы сказать
haword  - ВЫ ГЕНИЙЙЙЙЙЙЙЙЙЙЙЙЙ!
У нас открывались категории с товарами (от 400 до 4 000 товаров в категории) до 5 минут. Без шуток )
Мы искали решение убыстрения VirtueMart уже несколько недель.
Ваша модификация работает на все 100%  с базой ОБЪЕМОМ 300 000 позиций.
СПАСИБО!

Андрей
Какой именно вариант модификации от haword-а хорошо сработал? Последний?
Записан
haword
Осваиваюсь на форуме
***

Репутация: +25/-0
Offline Offline

Сообщений: 131


« Ответ #44 : 02.03.2010, 00:05:11 »

последний должен был сработать, остальные просто уменьшали количество запросов к базе.
я валяюсь, пытаешься что то сделать, даешь попробовать а результатов ноль, все ждут что ли когда кто то другой проверит и все дружно попользуются?
« Последнее редактирование: 02.03.2010, 00:10:19 от haword » Записан
pr0zz
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #45 : 02.03.2010, 12:50:33 »

последний должен был сработать, остальные просто уменьшали количество запросов к базе.
я валяюсь, пытаешься что то сделать, даешь попробовать а результатов ноль, все ждут что ли когда кто то другой проверит и все дружно попользуются?
Спасибо за ответ, haword ))) может не у всех много товаров, а может и лень.
Мне в ближайший месяц только предстоит сделать магаз на виртумарте. Тогда о результатах отпишу... Но опять же по началу товаров будет максимум 500.
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #46 : 02.03.2010, 19:49:49 »

2 haword я сравнил твой файл shop_browse_queries со своим, заметил только закомментированную переменную $count, а что еще изменено? может я чего проглядел?
Записан
haword
Осваиваюсь на форуме
***

Репутация: +25/-0
Offline Offline

Сообщений: 131


« Ответ #47 : 03.03.2010, 11:37:56 »

выставь режим отладки в Joomla, проверь время выполнения,  потом подмени, и проверь время выполнения снова и сравни, желательно разницу сюда выдать Azn

на всякий случай можно глянуть демку с изменениями сдесь http://www.bigcolor.ru/demo/shop.html
« Последнее редактирование: 03.03.2010, 11:50:00 от haword » Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #48 : 03.03.2010, 14:45:27 »

Я не для этого интересуюсь, мы работаем над компонентом JoosMart, основанном на VirtueMart 1.1.4, так вот по этому и интересуют детали, чтобы применить в своем компоненте, напрямки заменить файл уже не получится. А потестировать у меня нечем, работаю на пяти примерных товарах
Записан
haword
Осваиваюсь на форуме
***

Репутация: +25/-0
Offline Offline

Сообщений: 131


« Ответ #49 : 03.03.2010, 15:12:41 »

зря так мало, как минимум 1000 товаров завести надо для нормального тестирования компонента. Проблема в условии:
Код:
WHERE (`demo_jos_vm_product_category_xref`.`product_id`=`demo_jos_vm_product`.`product_id` OR `demo_jos_vm_product_category_xref`.`product_id`=`demo_jos_vm_product`.`product_parent_id`)
......
AND `product_parent_id`=0

посему делаем проверку на введенную строчку поиска в $keyword и если она есть делаем так

Код:
if( empty( $keyword ) ) {
        $where_clause[] = "(`#__{vm}_product_category_xref`.`product_id`=`#__{vm}_product`.`product_id`)";
      }
  else
      {
         $where_clause[] = "(`#__{vm}_product_category_xref`.`product_id`=`#__{vm}_product`.`product_id` OR `#__{vm}_product_category_xref`.`product_id`=`#__{vm}_product`.`product_parent_id`)";
      }
.....
if( empty( $keyword ) ) {
$where_clause[] = "`product_parent_id`=0 ";
.......
$count = 'SELECT COUNT(`product_sku`) AS num_rows FROM ('.$list.$q.' ) as vm';

это решение для Joomla и VirtueMart, для вас, если вы переделываете все прилично, нужно делать все немного другим путем, как я думаю было бы правильно чтобы не было такого глюка, надо подчиненным товарам создавать в таблице сопряжения групп и товара группу, а при выводе товара отфильтровывать по product_parent_id > 0
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #50 : 03.03.2010, 15:53:47 »

По хорошему SELECT COUNT(`product_sku`) надо заменить SELECT COUNT(*) тогда еще быстрее будет.
Записан
haword
Осваиваюсь на форуме
***

Репутация: +25/-0
Offline Offline

Сообщений: 131


« Ответ #51 : 03.03.2010, 17:45:33 »

никакой разницы не было когда я тестил
Записан
Arkadiy
Группа развития
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #52 : 03.03.2010, 18:15:23 »

По теории по-моему так: SELECT COUNT(`product_sku`) сначала создает массив product_sku потом его считает, SELECT COUNT(*) считает сразу.
Записан
haword
Осваиваюсь на форуме
***

Репутация: +25/-0
Offline Offline

Сообщений: 131


« Ответ #53 : 03.03.2010, 22:40:44 »

может быть и так, но время выполнения одноразового запроса к базе от 0.613 сек до 0.630 сек что так что эдак, плюс минус 17 миллисекунд большой роли не играют.
Записан
svarg
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 44


« Ответ #54 : 12.03.2010, 00:01:53 »

так еще кое какие модификации, тестировал на общем количестве товара около 10000 штук, грузиться все быстрее из за уменьшения времени выборки товара по условиям из базы, если у кого есть большие объемы протестируйте.
http://files.mail.ru/UZEUQ6

Пытался установить твой модуль, но Joomla пишет: Ошибка! Установочный XML-файл не найден в пакете
Как то по другому его устанавливать?
Записан
Sulpher
Support Team
*****

Репутация: +293/-9
Offline Offline

Пол: Мужской
Сообщений: 1677


Миграция сайтов на Joomla 2.5


« Ответ #55 : 12.03.2010, 00:06:25 »

Пытался установить твой модуль, но Joomla пишет: Ошибка! Установочный XML-файл не найден в пакете
Как то по другому его устанавливать?
это не модуль, а патчи. перезалей ими текущие файлы, не забыв сделать резервную копию.
Записан
svarg
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 44


« Ответ #56 : 12.03.2010, 00:21:21 »

это не модуль, а патчи. перезалей ими текущие файлы, не забыв сделать резервную копию.
Я скачал zip файл, а там только один php файл shop_browse_queries.php . Я искал у себя такой же, но так и не нашёл, не подскажите путь?
Благодарю.
Записан
Sulpher
Support Team
*****

Репутация: +293/-9
Offline Offline

Пол: Мужской
Сообщений: 1677


Миграция сайтов на Joomla 2.5


« Ответ #57 : 12.03.2010, 00:43:56 »

Я скачал zip файл, а там только один php файл shop_browse_queries.php . Я искал у себя такой же, но так и не нашёл, не подскажите путь?
Благодарю.
administrator/components/com_virtuemart/shop/shop_browse_queries.php
Записан
darkmaster
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 22


« Ответ #58 : 14.03.2010, 13:21:58 »

Не знаю как у вас но у меня на VМ 1.1.3 shop_browse_queries.php лежит здесь

/administrator/components/com_virtuemart/html/
Записан
koby84
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 41


« Ответ #59 : 14.03.2010, 18:04:25 »

при тестировании  hack_mod заметил такую особенность, при замене файла shop.browse.php подробное описание товара не открывет данную страницу а генерирует ошибку:
 Not Found

The requested URL / was not found on this server.

при возврате родного все стало на свои места.
Записан
koby84
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 41


« Ответ #60 : 14.03.2010, 18:20:59 »

Вопрос, когда ставлю в админке Режим отладки "да", то не могу зайти на сайт вылетает ошибка 500.
что можно сделать? может где то напартачил на ранних стадиях теса.
Записан
Страниц: 1 [2] 3 4 5 6   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet