· 7 years ago · Oct 29, 2018, 09:14 PM
1set foreign_key_checks = 0;
2truncate table posta;
3truncate table lokacija;
4set foreign_key_checks = 1;
5
6SHOW ENGINE InnoDB STATUS;
7SHOW OPEN TABLES WHERE In_use > 0;
8SELECT * FROM `information_schema`.`innodb_trx` ORDER BY `trx_started`;
9SELECT * FROM `information_schema`.`innodb_locks`;
10
11
12alter table lokacija drop foreign key posta_postna_stevilka_fk;
13alter table lokacija add constraint posta_postna_stevilka_fk foreign key (posta_postna_stevilka) references posta (postna_stevilka);
14drop index index123 on lokacija;
15create index index123 on lokacija (ulica);
16
17
18
19
20drop procedure if exists napolni_posta2;
21delimiter &
22create procedure napolni_posta2(in stevilo_vrstic int)
23begin
24declare i int default 1;
25declare kraj varchar(45);
26declare random int;
27start transaction;
28while i < stevilo_vrstic+1 DO
29 set random = (FLOOR(1 + RAND() * stevilo_vrstic));
30 set kraj = concat("posta", random);
31 INSERT INTO posta (kraj) values (kraj);
32 SET i = i + 1;
33END WHILE;
34commit;
35end &
36delimiter ;
37call napolni_posta2(10000);
38
39
40drop procedure if exists napolni_lokacija2;
41delimiter &
42create procedure napolni_lokacija2(in stevilo_vrstic int)
43begin
44declare i int default 1;
45declare ime_lokacija varchar(45);
46declare ulica varchar(45);
47declare hisna_stevilka varchar(5);
48declare posta_postna_stevilka int;
49declare random int;
50declare random2 int;
51declare random3 int;
52declare done int default 0;
53declare maxNumber int;
54declare cur cursor for select postna_stevilka from posta;
55declare continue handler for not found set done = 1;
56set maxNumber = (select count(postna_stevilka) from posta);
57
58start transaction;
59open cur;
60read_loop:loop
61fetch cur into posta_postna_stevilka;
62if done = 1 then
63leave read_loop;
64end if;
65while i < stevilo_vrstic+1 do
66 set random = (FLOOR(1 + RAND() * maxNumber));
67 set random2 = (FLOOR(1 + RAND() * maxNumber));
68 set random3 = (FLOOR(1 + RAND() * 100));
69 set ime_lokacija = concat("ime lokacije", random);
70 set ulica = concat("ulica", random2);
71 set hisna_stevilka = concat("st", random3);
72 insert into lokacija (ime_lokacija, ulica, hisna_stevilka, posta_postna_stevilka) values (ime_lokacija, ulica, hisna_stevilka, posta_postna_stevilka);
73 set i = i + 1;
74end while;
75set i = 1;
76end loop read_loop;
77close cur;
78commit;
79end &
80delimiter ;
81call napolni_lokacija2(1000);
82
83set sql_safe_updates = 0;
84update lokacija
85set posta_postna_stevilka = 100;
86set sql_safe_updates = 1;
87
88SET SQL_SAFE_UPDATES = 0;
89delete from lokacija;
90SET SQL_SAFE_UPDATES = 1;