|
Joomla thường bị chỉ trích vì tạo quá nhiều truy vấn SQL tới cơ sở dữ liệu MySQL, đồng thời Joomla cũng có cơ sở dữ liệu được thiết kế chưa thực sự tốt (cụ thể là việc lập chỉ mục cho các bảng). Bài viết dưới đây sẽ hướng dẫn bạn thực hiện một vài chỉnh sửa nhỏ với cơ sở dữ liệu Joomla. Bạn sẽ thấy tốc độ của Joomla được cải thiện đáng kể. Lưu ý: Trước khi thực hiện mọi thay đổi hãy tiến hành backup toàn bộ website. Bước 1: Mở phpMyAdmin và chọn database Joomla
Bước 2. Xác định phần tiền tố của các bảngThường là "jos_" Bước 3: Mở công cụ SQL (thực hiện các truy vấn SQL)Chạy các câu lệnh SQL tương ứng sau: Đối với Joomla! core:ALTER TABLE `jos_categories` ADD INDEX `title_id` (`title`,`id`); ALTER TABLE `jos_components` ADD INDEX `opt_par` (`option`, `parent`, `id`); ALTER TABLE `jos_components` ADD INDEX `admin_opt` (`admin_menu_link`, `option`); ALTER TABLE `jos_content` ADD INDEX `state_access` ( `state` , `access` , `publish_up` , `publish_down` , `id` , `catid` , `sectionid` , `created_by` ); ALTER TABLE `jos_core_acl_aro` ADD INDEX `val_aro_id` (`value`, `aro_id`); ALTER TABLE `jos_core_acl_aro_groups` ADD INDEX `name_lft_rgt` (`name`, `lft`, `rgt`); ALTER TABLE `jos_mambots` ADD INDEX `fold_acc` ( `folder`, `access`, `published`, `ordering`, `element`, `params`(20)); ALTER TABLE `jos_mambots` ADD INDEX `element` ( `element` ); ALTER TABLE `jos_menu` ADD INDEX `link_id` (`link`(30), `id`); ALTER TABLE `jos_menu` ADD INDEX `link_pub_id` (`link`(30), `published`, `id`); ALTER TABLE `jos_menu` ADD INDEX `pub_acc_menu` (`published`, `access`, `menutype`, `parent`,`ordering`, `id`, `name`); ALTER TABLE `jos_sections` ADD INDEX `id,acc,pub` (`id`, `access`, `published`, `name`(20)); ALTER TABLE `jos_sections` ADD INDEX `pub_acc_id` (`published`,`access`,`id`,`name`(20)); ALTER TABLE `jos_stats_agents` ADD INDEX `agent_type` (`agent`,`type`,`hits`); ALTER TABLE `jos_templates_menu` ADD INDEX `client_menu` (`client_id`, `menuid`, `template`); ALTER TABLE `jos_template_positions` ADD INDEX `pos` (`position`); ALTER TABLE `jos_users` ADD INDEX `user_pass_id` (`username`,`password`,`id`); Đối với DocMan:ALTER TABLE `jos_docman` ADD INDEX `own_pub` (`dmowner`, `published`, `approved`, `catid`, `id`); Đối với JoomComment ALTER TABLE `jos_jomcomment` ADD INDEX `content_opt` (`contentid`,`option`, `published`); Đối với OpenSEFALTER TABLE `jos_opensef_config` ADD INDEX `scope_name` (`scope`, `name`); ALTER TABLE `jos_opensef_sef` ADD INDEX `exter_dir` (`external`, `direction`, `site_id`, `use_internal`); Keyword:- Joomla, tăng tốc, SQL, truy vấn
|