А что делать в случае, когда постоянно более сотни транзакций, и штук 30 из них держат какие-то локи? Чаще всего, конечно, они не пересекаются, но бывают и исключения, которые хочется поймать. Наверняка же можно как-то проследить какой процесс получил лок (наподобие flock'a можно lsof | grep). В том смысле что наверняка же лок знает кто его получил, чтобы именно от того процесса пропускать изменения. Не планируется ли создать какой-нибудь разумный инструмент\плагин, который сможет анализировать кто кого ждёт?
Вопрос по локам возник.
Вот классический случай. Транзакция ждёт лока. Мы это видим так:
---TRANSACTION 0 2707548981, ACTIVE 8 sec, process no 10221, OS thread id 1164843328 fetching rows
mysql tables in use 1, locked 1
LOCK WAIT 1179 lock struct(s), heap size 194544, undo log entries 22840
MySQL thread id 9735008, query id 2678070880 server_ip connect_name updating
query
Trx read view will not see trx with id >= 0 2707548984, sees < 0 2707547862
------- TRX HAS BEEN WAITING 0 SEC FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 262 page no 90699 n bits 216 index `PRIMARY` of table `table_name`
trx id 0 2707548981 lock_mode X waiting
Record lock, heap no 125 PHYSICAL RECORD: n_fields 7; compact format; info bits 0
0: len 8; hex 800000008d7f9502; asc ;; 1: len 6; hex 0000a161ef1c; asc a ;; 2: len 7; hex 8000010014011c; asc ;; 3: len 4; hex 05e0bec9; asc ;; 4: len 4; hex 9951d488; asc Q ;; 5: len 4; hex 4b0bc4f7; asc K ;; 6: len 8; hex 4051a04fe44992bf; asc @Q O I ;;
Как узнать transaction_id той транзакции, которая залочила ряды, которые ждёт исследуемая транзакция?
Только в школьные парты не помещался портфель. Поэтому я сомневаюсь в универсальности такого столика, даже несмотря на уменьшение размеров дипломатов в зависимости от времени.
Ну во-первых не из-за политкорректности, ибо республиканцам совсем не верят, да и МакКейн слабый кандидат.
Вспомнился первый сезон доктора Хауса с пациентом афроамериканцем-кандидатом, где была его фраза «меня всё равно не выберут, ты думаешь почему Белый Дом называется Белым»? Серия была снята в 2004 году.
Именно в этом случае и не надо получать результат до того как всё не выполнилось.
Чистая многопоточность была бы если аяксом уже дёргать по 1 городу. Но так явно хуже чем реализация автора.
Примерно этим, наверное, руководствовался и Яндекс давая ссылку на поиск в других поисковиках. Ведь действительно легче 1 раз набрать поисковый запрос в одной системе.
Да и на бету намекать переходить глупо. Даже когда нормальный релиз будет максимум будет строчка зазывающая поставить хром, но пессимизировать работу в других браузерах глупо.
Не стоит вообще полагаться на точность после умножения float'ов. Ежели уж где-то совсем никак юзать sprinf для удаления шлака в неинтересующих порядках. Например если var_dump'ать round(sprintf('%f',$value)) то наверное всё одинаково выведется.
Удачи в выходные:)
1
2
3
Вот классический случай. Транзакция ждёт лока. Мы это видим так:
Как узнать transaction_id той транзакции, которая залочила ряды, которые ждёт исследуемая транзакция?
<?php
echo file_get_contents(__FILE__);
?>
Вспомнился первый сезон доктора Хауса с пациентом афроамериканцем-кандидатом, где была его фраза «меня всё равно не выберут, ты думаешь почему Белый Дом называется Белым»? Серия была снята в 2004 году.
Чистая многопоточность была бы если аяксом уже дёргать по 1 городу. Но так явно хуже чем реализация автора.
А вот это к чему вообще? Из всех запросов этот самый маразматичный.
вот они славные времена доров. на десятилетия делали :)