|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
Добрый вечер! В данном примере осуществляется блокировка на чтение при SELECT до вызова COMMIT? Или нужно применять "FOR UPDATE" в SELECT? Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 17:51 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
Получается, что пример выше аналогичен: Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 17:57 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman, Это не MS SQL ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 18:00 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
zby FreeAdman, Это не MS SQL Обратитесь в соответствующий форум ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 18:01 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
Подскажите, пожалуйста Какая разница между SELECT из нескольких таблиц и применение JOIN LEFT ? Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 18:33 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman, "список таблиц" - это устаревший способ записать INNER JOIN. А чем INNER JOIN отличается от LEFT JOIN - за этим в справку или гугл ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 18:43 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
0wl, благодарю! Получается, разницы между устаревшим видом и INNER нет никакой, попросту использование INNER визуально упрощает \ сокращает вид запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 18:48 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
LEFT JOIN получается быстрее INNER JOIN? Я правильно понимаю? Т.е. выборка при LEFT получается только в одну сторону вида t1 -> t2 -> t3? Да, придётся почитать за JOIN-ы... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 18:56 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman LEFT JOIN получается быстрее INNER JOIN? Я правильно понимаю? Т.е. выборка при LEFT получается только в одну сторону вида t1 -> t2 -> t3? Да, придётся почитать за JOIN-ы... Имел ввиду, что сначала выборка идёт в `t1`, потом в `t2` без возврата обратно в `t1`. Иначе говоря этоЮ если я правильно представляю, это подобно 3-м SELECT ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 19:13 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
А подскажите, пожалуйста, какой вариант лучше применять для выборки 1 поля из нескольких (3+) таблиц? (интересно ваше мнение и совет) Когда в одном поле - id поля из другой таблицы ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 19:17 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman А подскажите, пожалуйста, какой вариант лучше применять для выборки 1 поля из нескольких (3+) таблиц? (интересно ваше мнение и совет) Когда в одном поле - id поля из другой таблицы LEFT и INNER это не про скорость это про разные, абсолютно разные способы соединения таблиц, которые приводят к разным результирующим значениям в целом ваше направление размышлений в верном направлении авторвыборка при LEFT получается только в одну сторону вида t1 -> t2 -> t3? но для полного понимания прочитать надо про все способы соединений ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 19:31 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
Сначала разберитесь, что у Вас за СУБД. Если вдруг MS SQL Server - то пройдите курс https://www.specialist.ru/course/m20461 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 19:33 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
DaniilSeryi, ну как это разберитесь ? MySQL! Модератора попросил перенести тему. Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 19:35 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman, Вот вам про джойны наглядно ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 20:17 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
Красиво, только не совсем понятно. Красным что обозначается? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 20:25 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
результат запроса на примере множеств (вместо таблиц) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 21:27 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
Вроде бы разобрался. Делаю несколько вложенных LEFT JOIN и норм. Благодарю всех! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 22:29 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman Добрый вечер! В данном примере осуществляется блокировка на чтение при SELECT до вызова COMMIT? Или нужно применять "FOR UPDATE" в SELECT? Код: sql 1. 2. 3. 4.
Подскажите, плиз, я правильно понимаю, что "BEGIN WORK" - это некий локальный аналог "autocommit=false", а COMMIT при том возвращает autocommit в исходное? И, как я понимаю, пример выше не блокирует таблицу на чтение ? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2021, 23:11 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
О блокировках. Например. У нас есть таблица users. При регистрации проверяем наличие логина в БД. И дабы недопустить фантомные записи, я так понимаю, пример из доки ниже то что нужно для InnoDB Код: sql 1. 2. 3. 4. 5.
В данном примере мы блокируем на чтение (ну и запись) "t1" т.е. users, а второй поток по идее будет висеть в ожидании разблока таблицы. И "FOR UPDATE" конкретно в этой ситуации не подходит ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2021, 00:10 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman, Не надо танцевать с тарзакциями. Вот так попробуй: Код: sql 1.
Если надо по нескольким типам, то mysql может делать update по таблице и подзапросу. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2021, 08:10 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
crutchmaster, то был пример с другого сайта. Ваш запрос мне ни к чему только от фантомов ваш пример сильно помогает? Сомневаюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2021, 22:25 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman только от фантомов ваш пример сильно помогает? От кого помогает, простите? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2021, 04:05 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
INNER и LEFT могут давать одинаковый результат. В чём тогда разница? Зачем эти ДЖОЙНЫ, если можно перечислить все таблицы в FROM ? Тот же INNER как писали выше. Картинки ваши с интернета не поясняют ничего. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2021, 15:25 |
|
Вопросы непрофессионала по SQL
|
|||
---|---|---|---|
#18+
FreeAdman, смотрим на картинку выше (с кружочками) LEFT отдает ВСЮ Левую Таблицу и присоединяет записи Правой Таблицы по условию Соеднинения, где условие не выполняется - будет NULL для Правой Таблицы INNER отдает только те записи из Левой и Правой, которые проходят по условию соединения здесь https://dbfiddle.uk/?rdbms=mysql_8.0 можно создать пару таблиц и поиграться вдоволь. ------------------ добавлено ------------------ FROM TabA, TabB = FROM TabA INNER JOIN TabAB ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2021, 16:39 |
|
|
start [/forum/topic.php?fid=47&msg=40061133&tid=1828087]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 297ms |
0 / 0 |