Есть старое правило для MySQL, которое гласит, что если на таблице наложено два ключа (a) и (a, b), то первый ключ можно снять, ибо для выборки будет достаточно второго ключа.
В статье на www.mysqlperformanceblog.com наглядно показано, что это правило верно не всегда. Дело в том, что в InnoDB особое внимание уделяется clustered index. Clustered index идёт как замыкающий элемент каждого ключа. То есть индексы надо рассматривать как (a, id) и (a,b,id). Теперь, зная это, подумаем что произойдёт с запросом
SELECT * FROM table WHERE a = 3 ORDER BY id LIMIT 1;
если мы уберём ключ (а) и оставим ключ (a,b).
Вообще статья заставила меня переосмыслить использование и оптимизацию ключей в InnoDB.
понедельник, 24 мая 2010 г.
вторник, 18 мая 2010 г.
Shift + NumPad. О вреде хоткеев или NumPad не работает
В один прекрасный день я обнаружил, что у меня в Ubuntu перестал работать NumPad. Вернее работать он продолжал, а вот цифры и кнопки арифметики работать перестали. Только при выключенном NumLock функционал курсора оставался на клавишах. Я переключился из Xorg в консоль и обнаружил, что в консоли NumPad работает.
Делаю вывод, что проблема сугубо программная, а не аппаратная, потому полез в гугл и вот, что я там обнаружил. Оказывается проблеме уже больше 2 лет. Появляется она, если по неосторожности нажать Shift+NumLock. В этом случае включается управление курсором мыши с клавиатуры. Так как одиночные нажатия сдвигают курсор на один пиксел, заметить, что курсор передвинулся довольно сложно. Вот и получается формулировка, что NumPad не работает. Чтобы отключить управление надо повторно нажать Shift+NumLock.
Вот так случайное нажатие хоткея может сильно расстроить пользователя. Уважаемые разработчики, пожалуйста, уведомляйте пользователя, что он нажал хоткей, если результат его нажатия не очевиден.
Офисным работникам на заметку: хоткей работает даже на заблокированном компьютере, так что если желаете сделать гадость ближнему своему, можете не стесняться. Shift+NumLock.
Делаю вывод, что проблема сугубо программная, а не аппаратная, потому полез в гугл и вот, что я там обнаружил. Оказывается проблеме уже больше 2 лет. Появляется она, если по неосторожности нажать Shift+NumLock. В этом случае включается управление курсором мыши с клавиатуры. Так как одиночные нажатия сдвигают курсор на один пиксел, заметить, что курсор передвинулся довольно сложно. Вот и получается формулировка, что NumPad не работает. Чтобы отключить управление надо повторно нажать Shift+NumLock.
Вот так случайное нажатие хоткея может сильно расстроить пользователя. Уважаемые разработчики, пожалуйста, уведомляйте пользователя, что он нажал хоткей, если результат его нажатия не очевиден.
Офисным работникам на заметку: хоткей работает даже на заблокированном компьютере, так что если желаете сделать гадость ближнему своему, можете не стесняться. Shift+NumLock.
Подписаться на:
Сообщения (Atom)