Запрос с двух таблиц - Visavi.net
https://visavi.net/
RSS - Visavi.nethttps://visavi.net/assets/img/images/logo_small.pngRSS - Visavi.net
https://visavi.net/
[email protected] (admin)[email protected] (admin)Fri, 19 Apr 2024 17:29:52 +0300Чрезмерные индексы -зло, они увеличивают размер БД, к тому же при вставке обновлении и удалении происходит переиндексирование, на что тоже тратится время, да и не за чем индексы на полях которые не участвуют в выборке
https://visavi.net/topics/42739/687247
Запрос с двух таблиц Вантуз-менSun, 10 Jan 2016 10:30:21 +0300Сообщенияhttps://visavi.net/topics/42739/68724714. <strong>Vantuz</strong>, Летает как ракета)) Спасибо большое, выручили. А что если индекс везде использовать? Или почему он не идет по умолчанию.
https://visavi.net/topics/42739/687246
Запрос с двух таблиц TERGUS5Sun, 10 Jan 2016 10:20:54 +0300Сообщенияhttps://visavi.net/topics/42739/687246Ну все напиши тот. Запрос что я дал постом выше и все должно работать быстрее
https://visavi.net/topics/42739/687245
Запрос с двух таблиц Вантуз-менSun, 10 Jan 2016 10:09:22 +0300Сообщенияhttps://visavi.net/topics/42739/68724512. <strong>Vantuz</strong>, Как его создать? Нужно в таблицу что-то заносить или только в запрос? Подскажи пожалуйста, первый раз с ним сталкиваюсь.<br>
<br>
<em><span style="font-size:x-small">Добавлено через 03:43 сек.</span></em><br>
А всё нашел, структура напротив user_id добавить в индекс.<br>
<br>
<em><span style="font-size:x-small">Добавлено через 04:46 сек.</span></em><br>
Добавил, и что дальше?
https://visavi.net/topics/42739/687244
Запрос с двух таблиц TERGUS5Sun, 10 Jan 2016 09:47:59 +0300Сообщенияhttps://visavi.net/topics/42739/687244fr.user_id нужны индексы<br>
и fr.friend_user_id тоже желательно<br>
<br>
<pre class="prettyprint">$sql = "le.* FROM a_lenta as le
LEFT JOIN a_subscribers AS fr ON le.user_id = fr.friend_user_id
WHERE fr.user_id = '". USER_ID ."'
ORDER BY le.id DESC
LIMIT $this->start, $this->per_page";</pre>
https://visavi.net/topics/42739/687240
Запрос с двух таблиц Вантуз-менSun, 10 Jan 2016 00:31:18 +0300Сообщенияhttps://visavi.net/topics/42739/687240CREATE TABLE IF NOT EXISTS `a_lenta` (<br>
`id` int(11) NOT NULL AUTO_INCREMENT,<br>
`user_id` int(11) NOT NULL,<br>
`to_user` int(11) DEFAULT NULL,<br>
`module` varchar(5000) DEFAULT NULL,<br>
`time` int(11) NOT NULL,<br>
`podaril` enum('yes','no') DEFAULT NULL,<br>
PRIMARY KEY (`id`)<br>
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;<br>
<br>
<em><span style="font-size:x-small">Добавлено через 00:39 сек.</span></em><br>
CREATE TABLE IF NOT EXISTS `a_subscribers` (<br>
`id` int(11) NOT NULL AUTO_INCREMENT,<br>
`friend_user_id` int(11) NOT NULL,<br>
`user_id` int(11) NOT NULL,<br>
PRIMARY KEY (`id`)<br>
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
https://visavi.net/topics/42739/687239
Запрос с двух таблиц TERGUS5Sat, 09 Jan 2016 23:32:35 +0300Сообщенияhttps://visavi.net/topics/42739/687239Автор ну покажи структуру 2 таблиц, я же говорю запрос верный, возможно нет индексов, если не используется sql_calc_found_rows убери из запроса
https://visavi.net/topics/42739/687236
Запрос с двух таблиц Вантуз-менSat, 09 Jan 2016 21:50:01 +0300Сообщенияhttps://visavi.net/topics/42739/687236Пишет<br>
<br>
SELECT SQL_CALC_FOUND_ROWS `le`.* FROM `a_lenta` AS `le` WHERE `le.user_id` IN (SELECT `friend_user_id` WHERE `fr.user_id` = '1') ORDER BY `le`.`id` DESC LIMIT 0, 10<br>
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `fr.user_id` = '1') ORDER BY `le`.`id` DESC LIMIT 0,
https://visavi.net/topics/42739/687229
Запрос с двух таблиц TERGUS5Sat, 09 Jan 2016 19:19:10 +0300Сообщенияhttps://visavi.net/topics/42739/687229А в чём проблема сделать типа SELECT `le`.* FROM `lenta` AS `le` WHERE `le.user_id` IN (SELECT `friend_user_id` WHERE `fr.user_id` = '". USER_ID ."') ORDER BY `le`.`id` DESC LIMIT $this->start, $this->per_page<br>
<br>
Или я не правильно понял?
https://visavi.net/topics/42739/687179
Запрос с двух таблиц ИванThu, 07 Jan 2016 18:44:27 +0300Сообщенияhttps://visavi.net/topics/42739/687179EXPLAIN выводит только 2 непонятных запроса из таблицы
https://visavi.net/topics/42739/687117
Запрос с двух таблиц TERGUS5Tue, 05 Jan 2016 15:41:24 +0300Сообщенияhttps://visavi.net/topics/42739/6871175. <strong>Vantuz</strong>, Что за "структуру обеих таблиц ?" Кинь пожалуйста готовый запрос.
https://visavi.net/topics/42739/687116
Запрос с двух таблиц TERGUS5Tue, 05 Jan 2016 15:23:37 +0300Сообщенияhttps://visavi.net/topics/42739/6871163. <strong>TERGUS5</strong>, но мне кажется если уберешь SQL_CALC_FOUND_ROWS это должно решить проблему, так как SQL_CALC_FOUND_ROWS сперва просматривает всю таблицу и лишь затем делает выборку по лимитам
https://visavi.net/topics/42739/687088
Запрос с двух таблиц Вантуз-менSun, 03 Jan 2016 11:20:54 +0300Сообщенияhttps://visavi.net/topics/42739/687088Да все верно, сделай так и структуру обеих таблиц
https://visavi.net/topics/42739/687087
Запрос с двух таблиц Вантуз-менSun, 03 Jan 2016 10:31:27 +0300Сообщенияhttps://visavi.net/topics/42739/687087EXPLAIN SELECT le.* FROM ?
https://visavi.net/topics/42739/687085
Запрос с двух таблиц TERGUS5Sat, 02 Jan 2016 23:35:51 +0300Сообщенияhttps://visavi.net/topics/42739/6870851. <strong>TERGUS5</strong>, запрос нормальный, но думаю SQL_CALC_FOUND_ROWS тебе у тебя не используется, если так, то убирай из запроса и давай сюда EXPLAIN
https://visavi.net/topics/42739/687084
Запрос с двух таблиц Вантуз-менSat, 02 Jan 2016 23:32:43 +0300Сообщенияhttps://visavi.net/topics/42739/687084