|
|
|
@ -2048,4 +2048,58 @@ f1 f2 f3 f4 |
|
|
|
10 0 0 0 |
|
|
|
DROP TABLE t1; |
|
|
|
DROP VIEW v3; |
|
|
|
# |
|
|
|
# MDEV-6105: Emoji unicode character string search query makes mariadb performance down |
|
|
|
# |
|
|
|
SET NAMES utf8; |
|
|
|
DROP TABLE IF EXISTS t1; |
|
|
|
Warnings: |
|
|
|
Note 1051 Unknown table 't1' |
|
|
|
CREATE TABLE t1( |
|
|
|
id int AUTO_INCREMENT, |
|
|
|
fd varchar(20), |
|
|
|
primary key(id), |
|
|
|
index ix_fd(fd) |
|
|
|
)engine=innodb default charset=UTF8; |
|
|
|
INSERT INTO t1(id, fd) VALUES (null, ''),(null, 'matt'),(null, 'pitt'),(null, 'lee'),(null, 'kim'); |
|
|
|
INSERT INTO t1 (fd) SELECT fd FROM t1; |
|
|
|
INSERT INTO t1 (fd) SELECT fd FROM t1; |
|
|
|
INSERT INTO t1 (fd) SELECT fd FROM t1; |
|
|
|
INSERT INTO t1 (fd) SELECT fd FROM t1; |
|
|
|
INSERT INTO t1 (fd) SELECT fd FROM t1; |
|
|
|
INSERT INTO t1 (fd) SELECT fd FROM t1; |
|
|
|
INSERT INTO t1 (fd) SELECT fd FROM t1; |
|
|
|
INSERT INTO t1 (fd) SELECT fd FROM t1; |
|
|
|
INSERT INTO t1 (fd) SELECT fd FROM t1; |
|
|
|
INSERT INTO t1 (fd) SELECT fd FROM t1; |
|
|
|
INSERT INTO t1 (fd) SELECT fd FROM t1; |
|
|
|
INSERT INTO t1 (fd) SELECT fd FROM t1; |
|
|
|
INSERT INTO t1 (fd) SELECT fd FROM t1; |
|
|
|
# The following should show "Impossible WHERE" : |
|
|
|
explain |
|
|
|
SELECT * FROM t1 WHERE fd='😁'; |
|
|
|
id select_type table type possible_keys key key_len ref rows Extra |
|
|
|
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables |
|
|
|
Warnings: |
|
|
|
Warning 1366 Incorrect string value: '\xF0\x9F\x98\x81' for column 'fd' at row 1 |
|
|
|
SELECT * FROM t1 WHERE fd='😁'; |
|
|
|
id fd |
|
|
|
Warnings: |
|
|
|
Warning 1366 Incorrect string value: '\xF0\x9F\x98\x81' for column 'fd' at row 1 |
|
|
|
# The following must not use range access: |
|
|
|
explain select count(*) from t1 where fd <'😁'; |
|
|
|
id select_type table type possible_keys key key_len ref rows Extra |
|
|
|
1 SIMPLE t1 index ix_fd ix_fd 63 NULL # Using where; Using index |
|
|
|
Warnings: |
|
|
|
Warning 1366 Incorrect string value: '\xF0\x9F\x98\x81' for column 'fd' at row 1 |
|
|
|
select count(*) from t1 where fd <'😁'; |
|
|
|
count(*) |
|
|
|
40960 |
|
|
|
Warnings: |
|
|
|
Warning 1366 Incorrect string value: '\xF0\x9F\x98\x81' for column 'fd' at row 1 |
|
|
|
select count(*) from t1 ignore index (ix_fd) where fd <'😁'; |
|
|
|
count(*) |
|
|
|
40960 |
|
|
|
drop table t1; |
|
|
|
set names default; |
|
|
|
set optimizer_switch=@mrr_icp_extra_tmp; |