Autor | Zpráva | ||
---|---|---|---|
Morous70 Profil * |
#1 · Zasláno: 8. 4. 2014, 13:15:31
Jak mám dále upravit řetězec $vystup, abych jej mohl uložit do MySQL? Použití addshlases, mysql_real_escape_string apod. naruší data, které pak nejdou dekomprimovat.
$r = array(); $vystup = gzcompress(serialize($r)); |
||
Kajman Profil |
#2 · Zasláno: 8. 4. 2014, 13:53:51
Po připojení k serveru by mělo být ošetření komprimovaných dat díky mysql_real_escape_string korektní.
|
||
Joker Profil |
#3 · Zasláno: 8. 4. 2014, 14:02:37
Morous70:
Jaký datový typ pro uložení těch dat používáte? Není problém spíš v tom? (např. že to ukládáte jako VARCHAR a rozhodí se to kvůli kódování. Tohle by se asi mělo ukládat jako BLOB.) |
||
Morous70 Profil |
#4 · Zasláno: 9. 4. 2014, 09:36:01
Datový typ používám BLOB. Vše již začalo fungovat. Asi jsem v průběhu dělal nějakou chybu v zápise. Nyní používám funkční:
$r = array(); $vystup = mysql_real_escape_string(gzcompress(serialize($r),9)); Děkuji za pomoc. A jen dotaz bokem. Jakou máte zkušenost s používáním komprese implementovanou v MySQL? Zjistil jsem, že účinnost je nižší než u gzcompress() či bzcompress(). Ale co zatížení procesoru a čas zpracování? INSERT INTO tabulka (data) VALUES (COMPRESS(string)); SELECT UNCOMPRESS(string) AS data FROM tabulka; |
||
Kajman Profil |
#5 · Zasláno: 9. 4. 2014, 11:05:56
Často bývají levnější datové prostory než procesorový čas. Dokud si neotestujete a nepotvrdíte na očekávaných datech a očekávaném provozu skutečný přínos používání komprimovaných dat, tak bych se jim vyhnul.
|
||
Časová prodleva: 10 let
|
0