Regulární výrazy
SELECT * FROM articles
WHERE title LIKE "%mysql 5.0%";
SELECT * FROM articles
WHERE title REGEX "mysql 5\.0";
Slide 4
Slide 4 text
Regulární výrazy
SELECT * FROM articles
WHERE title LIKE "%mysql 5.0%";
OK, 150 results.
SELECT * FROM articles
WHERE title REGEX "mysql 5\.0";
OK, 0 results.
Slide 5
Slide 5 text
Regulární výrazy
REGEX + multibyte = case-sensitive
Vždy.
Nahlášeno v roce 2007.
Oprava = poznámka v dokumentaci.
Slide 6
Slide 6 text
No content
Slide 7
Slide 7 text
Regulární výrazy
(asi) jediné řešení
SELECT * FROM articles
WHERE title REGEX
"[mM][yY][sS][qQ][lL] 5\.0";
Slide 8
Slide 8 text
Kotva druhá
ALTER TABLE
Slide 9
Slide 9 text
ALTER TABLE
ALTER TABLE huge_table
ADD INDEX some_column (some_column);
Slide 10
Slide 10 text
ALTER TABLE
Copying to tmp table
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
ALTER TABLE
řešení
InnoDB plugin
Proč mít jednu implementaci,
když můžeme mít dvě.
Slide 13
Slide 13 text
ALTER TABLE
ALTER TABLE huge_table
ADD FOREIGN KEY (some_column)
REFERENCES small_table(id);
Slide 14
Slide 14 text
ALTER TABLE
Copying to tmp table
Slide 15
Slide 15 text
ALTER TABLE
ALTER TABLE huge_table
DROP FOREIGN KEY some_key;
ALTER TABLE huge_table
DROP some_column;
Slide 16
Slide 16 text
ALTER TABLE
Copying to tmp table
Copying to tmp table
Slide 17
Slide 17 text
Kotva třetí
utf8
Slide 18
Slide 18 text
utf8
INSERT INTO comments (text)
VALUES ("Mám rád ❄ a rád stavím ");
☃
Warning.
SELECT * FROM comments;
"Mám rád "
Slide 19
Slide 19 text
No content
Slide 20
Slide 20 text
utf8
řešení
utf8mb4
Proč mít jednu implementaci,
když můžeme mít dvě.
Slide 21
Slide 21 text
utf8mb4
●
Sehnat
●
Zkompilovat
●
ALTER TABLE
●
OPTIMIZE TABLE
●
REPAIR TABLE
●
Pak to snad bude fungovat...
Slide 22
Slide 22 text
utf8mb4
INSERT INTO comments (text)
VALUES ("MySQL je ");
Warning.
SELECT * FROM comments;
"Mysql je ????"