LINUX.ORG.RU

Re: индексы в mysql

O_o

Ну при update указывай проиндексированный аттрибут, обычно для этого делают id поля. Операция пройдёт в один проход.

Anoxemian ★★★★★
()

Re: индексы в mysql


7.2.17. Speed of UPDATE Statements
An update statement is optimized like a SELECT query with the additional overhead of a write. The speed of the write depends on the amount of data being updated and the number of indexes that are updated. Indexes that are not changed do not get updated.

Another way to get fast updates is to delay updates and then do many updates in a row later. Performing multiple updates together is much quicker than doing one at a time if you lock the table.

-> если как минимум идет UPDATE с условием, то конечно можно.

// wbr

klalafuda ★☆☆
()
Ответ на: Re: индексы в mysql от Anoxemian

Re: индексы в mysql

Т.е если если я создал индекс
create index anIndex on aTable (aField)

то указывая при update-e
update aTable set anotherField="blabla"
where aField="bla"

и есть самый быстрый вариант update-a?
я правильно понял?

anonymous
()
Ответ на: Re: индексы в mysql от anonymous

Re: индексы в mysql

Индекс может замедлить апдейт только в том случае если этот апдейт изменяет поля входящие в него.

Индекс уменьшает время выборки если он используется в where условии(точнее если можно явно его использовать).

В твоем случае именно это и происходит, выборка строк для апдейта произойдет быстрее благодаря индексу,а далее на скорость "физической" операции изменения строки он не повлияет.

roller ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.