Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Фрагментация индексов в InnoDB / 8 сообщений из 8, страница 1 из 1
29.03.2004, 09:40
    #32460108
Marat_L
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фрагментация индексов в InnoDB
MySQL 4.0.18 <-> VFP5.0+MyODBC
Таблицы = InnoDB
ISOLATION LEVEL = READ COMMITTED

Делаю вставку
insert into firm (dir,old)values(1,0)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Connectivity error: [TCX][MyODBC]Lock wait timeout exceeded; Try restarting transaction

Может ли это быть из-за фрагментации индексов в таблице FIRM?
...
Рейтинг: 0 / 0
29.03.2004, 12:05
    #32460389
Хрен
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фрагментация индексов в InnoDB
нет
...
Рейтинг: 0 / 0
29.03.2004, 13:27
    #32460573
Marat_L
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фрагментация индексов в InnoDB
Тогда я совсем потерялся, почему вообще может быть такая ситуация?
Я бы понял если бы я пытался изменить запись, занятую другой транзакцией.
А то я ведь вставляю новую !!!

Может выборку из лога запросов прислать?
...
Рейтинг: 0 / 0
31.03.2004, 09:27
    #32463190
Marat_L
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фрагментация индексов в InnoDB
Не утерплю ведь, пошлю логи.
А вдруг кто подскажет:

Все вроде активные транзакции с этой таблицейна момент (может что лишнее убрал)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
 040326   9 : 56 : 05  

 32  Query begin 
 56  Query begin 
 56  Query insert into firm (dir,old)values( 1 , 0 ) 
 56  Query select last_insert_id() as id 
 56  Query update firm set id= 5799 , parentid= 0 , dir= 1 , old= 0 , short= "XXXXXXX" , full= "XXXXXXXXX" , address= "", postaddres="  ", phone="  ", director="  ", inn="  ", kpp="  ", okpo="  ", okonh="  ", rascount="  ", bank="  ", korcount="  ", bik="  ", city=331 , pers= 52 , city1= 331 , ip62av=" 62 /АВ/ПРОЧ/ 000  ", ip62p="  62 /П/ПРОЧ/ 000  ", type="  00  ", email=" ", wp= 125  where id= 5799  
 56  Query update firm set dir= 0  where id= 5799  
 56  Query update firm set parentid= 0  where id= 5799  

 040326   10 : 06 : 37  

 56  Query select short as name from firm where _rowid=  5799  LOCK IN SHARE MODE 

 040326   11 : 08 : 33  

 6  Query begin 
 6  Query select short as name from firm where _rowid=  3969  LOCK IN SHARE MODE 

 040326   11 : 09 : 48  

 58  Query begin 
 58  Query select short as name from firm where _rowid=  0  LOCK IN SHARE MODE 
 58  Query select short as name from firm where _rowid=  0  LOCK IN SHARE MODE 
 58  Query select short as name from firm where _rowid=  375  LOCK IN SHARE MODE 
 58  Query select short as name from firm where _rowid=  375  LOCK IN SHARE MODE 
 77  Query begin 
 77  Query insert into firm (dir,old)values( 1 , 0 ) 
 77  Query select last_insertid() as id 
 78  Query begin 
 78  Query insert into firm (dir,old)values( 1 , 0 ) 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
Connectivity error: [TCX][MyODBC]Lock wait timeout exceeded; Try restarting transaction 


На всякий случай шлю таблицу FIRM?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
CREATE TABLE `firm` ( 
`id` int( 11 ) NOT NULL auto_increment, 
`parentid` int( 11 ) NOT NULL default '0', 
`dir` tinyint( 4 ) NOT NULL default '0', 
`old` tinyint( 4 ) NOT NULL default '0', 
`short` char( 50 ) NOT NULL default '', 
`full` char( 50 ) NOT NULL default '', 
`address` char( 80 ) NOT NULL default '', 
`postaddres` char( 80 ) NOT NULL default '', 
`phone` char( 50 ) NOT NULL default '', 
`director` char( 50 ) NOT NULL default '', 
`inn` char( 13 ) NOT NULL default '', 
`kpp` char( 13 ) NOT NULL default '', 
`okpo` char( 15 ) NOT NULL default '', 
`okonh` char( 15 ) NOT NULL default '', 
`rascount` char( 20 ) NOT NULL default '', 
`bank` char( 60 ) NOT NULL default '', 
`korcount` char( 20 ) NOT NULL default '', 
`bik` char( 15 ) NOT NULL default '', 
`city` int( 11 ) default NULL, 
`pers` int( 11 ) default NULL, 
`city1` int( 11 ) default NULL, 
`ip62av` char( 20 ) NOT NULL default '62/á÷/ðòïþ/000', 
`ip62p` char( 20 ) NOT NULL default '62/ð/ðòïþ/000', 
`type` enum('00','01','10','11') NOT NULL default '00', 
`email` char( 100 ) NOT NULL default '', 
`wp` int( 11 ) default NULL, 
PRIMARY KEY (`id`), 
KEY `dir` (`dir`), 
KEY `old` (`old`), 
KEY `city` (`city`), 
KEY `short` (`short`), 
KEY `pers` (`pers`), 
KEY `city1` (`city1`), 
KEY `parentid` (`parentid`), 
KEY `wp` (`wp`), 
CONSTRAINT `0_7481` FOREIGN KEY (`city`) REFERENCES `city` (`id`), 
CONSTRAINT `0_7482` FOREIGN KEY (`pers`) REFERENCES `pers` (`id`), 
CONSTRAINT `0_7483` FOREIGN KEY (`city1`) REFERENCES `city` (`id`), 
CONSTRAINT `firm_ibfk_1` FOREIGN KEY (`wp`) REFERENCES `wp` (`id`) 
) TYPE=InnoDB 

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
31.03.2004, 23:07
    #32464768
BigHarryy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фрагментация индексов в InnoDB
Случайно - не дедлок-ли это?

77 Query begin
77 Query insert into firm (dir,old)values(1,0)
77 Query select last_insertid() as id

78 Query begin
78 Query insert into firm (dir,old)values(1,0)
...
Рейтинг: 0 / 0
01.04.2004, 09:50
    #32464916
Marat_L
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фрагментация индексов в InnoDB
Дык там перед этим был еще инсерт - прокатило

Иногда и 4 инсерта в одновременно активных транзакциях прокатывало, а тут
:(

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
01.04.2004, 10:13
    #32464960
BigHarry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фрагментация индексов в InnoDB
Дык там перед этим был еще инсерт - прокатило
По логам не видно - коммита не было, да и закрытия сессии тоже...
...
Рейтинг: 0 / 0
01.04.2004, 10:53
    #32465039
Marat_L
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фрагментация индексов в InnoDB
Да. Все транзакции открытые.
А что? По моему не должно быть дедлока (по логике)

Кстати, чтобы не загромождать логи я выкинул все транзакции закрытые на момент, все селекты без блокировки, и все операции с другими таблицами. Может зря.
Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Фрагментация индексов в InnoDB / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]