SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 01.12.2011 16:09:12

Lioha
Участник
Зарегистрирован: 24.11.2010
Сообщений: 22

mysql 5.5 сохранилось ли последовательное обновление полей в операторе UPDATE

Добрый день!
Используем в настоящий момент mysql 5.1.53-community(64х) под Windows(64х)
Планируется переход на MySQL Community Server 5.5.18

Вопросы:
1 - в софте используются операторы UPDATE в которых обновляются поля слева направо и эта последовательность очень важна, пример:
     a, b - поля в таблице tablename
     update tablename set b=a+55,a=0 where ...
     так вот, если значение поля "a" до оператора update было a=10, то после оператора update в версии mysql 5.1.53-community(64х) мы имеем:
     сначала выполняется b=a+55=10+55=65, т.е. поле "b" проапдейтится значением 65, и только потоп поле "a" проапдейтиться 0
     В MySQL Community Server 5.5.18 вышеописанный оператор update будет выполнен таким же образом, т.е. сохранилась ли в нем обработка слева направо?

2 - В нашей текущей mysql 5.1.53-community(64х) используются только MyIsam таблицы. Есть ли какие то улучшения в MySQL Community Server 5.5.18 по отношению именно к MyIsam таблицам, т.е. стоит ли вообще обновлять на 5.5.18 если не планируется использование Innodb?

Большое Спасибо!

Неактивен

 

#2 05.12.2011 00:09:58

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: mysql 5.5 сохранилось ли последовательное обновление полей в операторе UPDATE

1.

Код:

[silentia] root test > create table i ( a int, b int ) ;
Query OK, 0 rows affected (0.00 sec)

[silentia] root test > insert i values (5, 7);
Query OK, 1 row affected (0.00 sec)

[silentia] root test > update i set b = a + 55, a = 0;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

[silentia] root test > select * from i;
+------+------+
| a    | b    |
+------+------+
|    0 |   60 |
+------+------+
1 row in set (0.00 sec)

2. Нет, лучше посмотрите в сторону MariaDB / Aria: Монти сделал большое
количество улучшений для этого движка (который по сути является дора-
боткой MyISAM).

Неактивен

 

#3 05.12.2011 14:46:45

Lioha
Участник
Зарегистрирован: 24.11.2010
Сообщений: 22

Re: mysql 5.5 сохранилось ли последовательное обновление полей в операторе UPDATE

Спасибо большое!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson