Тема: запитання по нюансу синтаксису та швидкодії mysql (mariadb)
всім привіт!
запитання по нюансу синтаксису та швидкодії mysql (mariadb)
1 -- надибав у деякому лайнокоді наступний запит,
здивувався, бо такого не знаю:
чим цей запит
"... ORDER BY id+0 DESC"
відрізняється від наступного
"... ORDER BY id DESC"
?
2 -- нам потрібно оновити, допустимо, 10 000 рядків з трохи більшої кількості,
і у нас є наступні варіанти, як це зробити:
2.1 --
"UPDATE ... SET ... WHERE id IN(".implode(', ', $userIDs).")"
тобто, в один запит запихнули перечислення 10 000 id-шок в конструкцію IN
2.2 --
"UPDATE ... SET ... WHERE id = ".$id1.";UPDATE ... SET ... WHERE id = ".$id2.";UPDATE ... SET ... WHERE id = ".$idN.";"
тобто, запихнули оновлення рядків по одному на запит, багато запитів
2.3 --
"UPDATE ... SET ... WHERE n > 5 AND m != ".$m.";"
оновимо одним запитом потрібні рядки
я так думаю, що запит 3 буде ефективнішим відносно попередніх 2х,
та запитання про 2.1. та 2.2 -- при наявності індекса по id (унік) --
запит 1 помітно повільніший за запит 2, чи ні?
індекс допомагає при запиті 1, чи ні?