Перечисление данных медленно в codeigniter

0

Я использую код-воспламенитель версии 3.1.6 и панель управления xampp v3.2.2, перечисляя данные клиента по таблице и присоединяю две таблицы "tbl_customer" и "tbl_additional_details" tbl_customer "cus_id" задает индекс и первичный ключ

Мой запрос нравится

$this->db->select('*');
$this->db->from('tbl_additional_details');
$this->db->join('tbl_customer','tbl_additional_details.customer_id = tbl_customer.cus_id ');
$this->db->where('tbl_additional_details.branch_id',$_SESSION['branchs']);
 $this->db->order_by('tbl_additional_details.customer_id',"desc");
 $query = $this->db->get();
 return $query->result();

почему листинг показывает очень медленно любой способ улучшить время результата?

Теги:
codeigniter
indexing

1 ответ

0
Лучший ответ

Оптимизация запросов - это сложная тема... вы могли бы напрямую запускать SQL в MySQL и делать некоторые профилирования там, но начинать с:

  1. Убедитесь, что вы создали индекс в любом поле, которое вы можете выбрать или присоединиться.
  2. Запустите "оптимизировать" на всех ваших таблицах... вы можете сделать это с phpmyadmin. Сделайте это ПОСЛЕ создания ваших индексов.
  3. Рассмотрим "денормализацию", т.е. Объединить таблицы или дублировать определенные поля. Например, если вы присоединяетесь к двум таблицам ради получения дополнительного поля ONE, вы можете скопировать это дополнительное поле в первую таблицу и полностью исключить объединение. Это приводит к резкому увеличению скорости на больших таблицах. Посмотрите пример здесь: http://courses.ischool.berkeley.edu/i257/f99/Lecture9_257/sld018.htm

Всего наилучшего!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню