Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: PHP и MySQL [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Описание: Помогите с кодом.
iflight
Отправлено: 30 Августа, 2011 - 20:06:34
Post Id



Гость


Покинул форум
Сообщений всего: 119
Дата рег-ции: Март 2011  
Откуда: Россия, Сыктывкар


Помог: 2 раз(а)




LIME Есть исключения, при использовании джоинов...не помню точно, но в курсе Оракла определенно нам такое рассказывали. Мб к Мускулу это и не применимо.
 
 Top
LIME
Отправлено: 30 Августа, 2011 - 20:12:41
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




ну не стану спорить
надеюсь ктото пояснит вопрос из уверенно знающих
всегда считал что БД быстрее ""на месте" сработает чем лишнее соединение
многое ведь зависит и от правильного построения таблиц и от удаленности БД
и наверняка еще куча факторов
 
 Top
Мелкий Супермодератор
Отправлено: 30 Августа, 2011 - 20:17:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




LIME пишет:
абсолютно во всех случаях

Не во всех. UNION на десяток выборок существенно медленнее 10 простых запросов.
А уж джойн с подзапросом - уж лучше переписывать целиком весь запрос.

MrBeard пишет:
ааа, и группировка в подзапросе ещё ОЧЕНЬ сильно тормозит запрос.

От индексов зависит. И количества разных значений, для которых выполняется подзапрос. В общем - explain select

LIME пишет:
"мускул за 24 часа для чайников : Основы " )))

А ещё "основы. чайник за 24 часа для mysql" и "как собрать машину времени в домашних условиях"


-----
PostgreSQL DBA
 
 Top
iflight
Отправлено: 30 Августа, 2011 - 20:18:06
Post Id



Гость


Покинул форум
Сообщений всего: 119
Дата рег-ции: Март 2011  
Откуда: Россия, Сыктывкар


Помог: 2 раз(а)




Вот нагуглил с хабрa, правдо статья 2008 (http://habrahabr.ru/blogs/mysql/41968/):

Использование большого количества JOIN'ов
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT
  2.     v.video_id
  3.     a.name,
  4.     g.genre
  5. FROM
  6.     videos AS v
  7. LEFT JOIN
  8.     link_actors_videos AS la ON la.video_id = v.video_id
  9. LEFT JOIN
  10.     actors AS a ON a.actor_id = la.actor_id
  11. LEFT JOIN
  12.     link_genre_video AS lg ON lg.video_id = v.video_id
  13. LEFT JOIN
  14.     genres AS g ON g.genre_id = lg.genre_id


Нужно помнить, что при связи таблиц один-ко многим количество строк в выборке будет расти при каждом очередном JOIN'е. Для подобных случаев более быстрым бывает разбить подобный запрос на несколько простых.
-----
Что то такое и нам говорили, скоро приеду в универ погляжу лекции, интересно стало аж))
 
 Top
MrBeard
Отправлено: 30 Августа, 2011 - 20:21:12
Post Id



Гость


Покинул форум
Сообщений всего: 97
Дата рег-ции: Авг. 2011  


Помог: 2 раз(а)




Мне кажется, что Lime говорит про снижение количества запросов из приложения к БД. Это можно просто решить не только единичным запросом, а ещё и процедурой, которая внутри сделает несколько выборок и вернёт приложению нужные данные
 
 Top
Мелкий Супермодератор
Отправлено: 30 Августа, 2011 - 20:45:20
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Бывает быстрее, а бывает - и нет. Например, вот это счастье:
Спойлер (Отобразить)

Считается со всеми джойнами в базе на 115мб за 0,005с Ниндзя


-----
PostgreSQL DBA
 
 Top
MrBeard
Отправлено: 30 Августа, 2011 - 21:40:11
Post Id



Гость


Покинул форум
Сообщений всего: 97
Дата рег-ции: Авг. 2011  


Помог: 2 раз(а)




Мелкий пишет:
Бывает быстрее, а бывает - и нет. Например, вот это счастье:
Спойлер (Отобразить)

Считается со всеми джойнами в базе на 115мб за 0,005с Ниндзя


это что за БД справляется так шустро?
 
 Top
Мелкий Супермодератор
Отправлено: 30 Августа, 2011 - 22:22:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




MrBeard пишет:
это что за БД справляется так шустро?

MySQL 5.1.49-3, без тюнинга самой СУБД.


-----
PostgreSQL DBA
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB