Krzysztof Białkowski

Krzysztof Białkowski Software Developer
(C# .NET)

Temat: [Mysql] NAME_CONST

Witam!
Pytanie z cyklu dziwnych..

Otoz mamy taka tabelke:

+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| nazwa | varchar(12) | YES | | NULL | |
| cos | varchar(11) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+

mysql> select * from names;
+------+----------+----------+
| id | nazwa | cos |
+------+----------+----------+
| 1 | sasasdas | daasdr |
| 2 | dadas | eeewqe |
| 3 | zxzzxqas | pdasdpas |
+------+----------+----------+

czyli jakieś id i dwa pola tekstowe

następnie mamy funkcyjke ktora wybiera (w pętli aby wychwycic proces), jakiś tam jeden rekord:

DELIMITER //
DROP FUNCTION IF EXISTS test_name//
CREATE FUNCTION test_name(item VARCHAR(12))
RETURNS VARCHAR(100)
BEGIN

DECLARE max int;
DECLARE _item varchar(12);

set max=1;

WHILE max <1000001 DO
select cos into _item from names where nazwa=item;
SET max=max+1;
END WHILE;

return _item;

END//
delimiter ;

I teraz pytanko:
Czemu w procesach (show process list) wywietla mi się zapytanie jako:

select cos into _item from s3_pomiary.names where nazwa= NAME_CONST('item',_latin2'sasasdas')

Chodzi głownie o to,że po przejsciu na nowego mysql 5.0.51a-24+lenny1-log (Debian), funckja zaczeła sie wykonywac jakies x5 razy dłuzej (na wczesniejszej wersji nie było tego NAME_CONST)

Czy ktoś jest może w to wytłumaczyc : )
Z dodatkowych informacji to moze jeszcze locale utf8, baza na latin2.Krzysztof Białkowski edytował(a) ten post dnia 23.07.09 o godzinie 23:55
Tomasz Jakub Rup

Tomasz Jakub Rup Profesjonalny
Programista

Temat: [Mysql] NAME_CONST

Tak bardzo skrótowo:

http://dev.mysql.com/doc/refman/5.0/en/stored-programs...

Następna dyskusja:

Zapytanie MySQL




Wyślij zaproszenie do