MySQL 압축 문자열 저장

1 개요[ | ]

MySQL 압축 문자열 저장

bzcompress[1]로 압축된 문자열을 MySQL에 저장하기 위해서는...

  • DB 컬럼의 자료형을 BLOB 형식으로
  • PHP에서 압축 후 escape 해야 한다.

2 예제 소스[ | ]

PHP
Copy
<?php
include 'lib_my.php';

query("DROP TABLE IF EXISTS table1");
query("CREATE TABLE table1 (comp blob) CHARSET=utf8");

$str = '';
for($i=0;$i<100;$i++) $str .= "($i) Test 문자열 ";

$bz2 = my_escape(bzcompress($str));
query("INSERT INTO table1 (comp) VALUES (\"$bz2\")");
$rows = query_rows("SELECT * FROM table1");
foreach($rows as $row) {
	$comp = $row['comp'];
	$uncomp = bzdecompress($comp);
	echo "<h1>압축문자열 (".strlen($comp)." 바이트)</h1>$comp";
	echo "<h1>해제문자열 (".strlen($uncomp)." 바이트)</h1>$uncomp";
}

3 실행결과[ | ]

text
Copy
압축문자열 (181 바이트)

BZh41AY&SY��a,���@`?����@���@�0��jF�=��� ��� *T����4h�>��HMHN$&�0���\�w��x[m��������p25���� �Ҫ����*Z���Z���h����� ������75����Za���nH̄�By!5!>���M�O�&�&D&�&�'�w$S�	{v��

해제문자열 (1990 바이트)

(0) Test 문자열 (1) Test 문자열 (2) Test 문자열 (3) Test 문자열 (4) Test 문자열 (5) Test 문자열 (6) Test 문자열 (7) Test 문자열 (8) Test 문자열 (9) Test 문자열 (10) Test 문자열 (11) Test 문자열 (12) Test 문자열 (13) Test 문자열 (14) Test 문자열 (15) Test 문자열 (16) Test 문자열 (17) Test 문자열 (18) Test 문자열 (19) Test 문자열 (20) Test 문자열 (21) Test 문자열 (22) Test 문자열 (23) Test 문자열 (24) Test 문자열 (25) Test 문자열 (26) Test 문자열 (27) Test 문자열 (28) Test 문자열 (29) Test 문자열 (30) Test 문자열 (31) Test 문자열 (32) Test 문자열 (33) Test 문자열 (34) Test 문자열 (35) Test 문자열 (36) Test 문자열 (37) Test 문자열 (38) Test 문자열 (39) Test 문자열 (40) Test 문자열 (41) Test 문자열 (42) Test 문자열 (43) Test 문자열 (44) Test 문자열 (45) Test 문자열 (46) Test 문자열 (47) Test 문자열 (48) Test 문자열 (49) Test 문자열 (50) Test 문자열 (51) Test 문자열 (52) Test 문자열 (53) Test 문자열 (54) Test 문자열 (55) Test 문자열 (56) Test 문자열 (57) Test 문자열 (58) Test 문자열 (59) Test 문자열 (60) Test 문자열 (61) Test 문자열 (62) Test 문자열 (63) Test 문자열 (64) Test 문자열 (65) Test 문자열 (66) Test 문자열 (67) Test 문자열 (68) Test 문자열 (69) Test 문자열 (70) Test 문자열 (71) Test 문자열 (72) Test 문자열 (73) Test 문자열 (74) Test 문자열 (75) Test 문자열 (76) Test 문자열 (77) Test 문자열 (78) Test 문자열 (79) Test 문자열 (80) Test 문자열 (81) Test 문자열 (82) Test 문자열 (83) Test 문자열 (84) Test 문자열 (85) Test 문자열 (86) Test 문자열 (87) Test 문자열 (88) Test 문자열 (89) Test 문자열 (90) Test 문자열 (91) Test 문자열 (92) Test 문자열 (93) Test 문자열 (94) Test 문자열 (95) Test 문자열 (96) Test 문자열 (97) Test 문자열 (98) Test 문자열 (99) Test 문자열

4 같이 보기[ | ]

5 주석[ | ]

  1. 또는 gzcompress 등

6 참고[ | ]

  • CentOS MySQL 설치
    RHEL5.x 버전에서 MySQL-5.5.45 버전 설치시, /usr/bin/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data 와 같이 설정해 주지 않으면 정상 동작하지 않는 경우가 있었습니다. 확인 바랍니다.
  • MySQL BigDump
    'MySQL server has gone away'는 백업본 전체의 크기가 크다기 보다는, 특정 쿼리문 1개의 크기가 너무 커서 처리를 못하는 거라서, 이런 도구로 해결하기는 어려울 것 같습니다.J Jmnote
  • MySQL STRICT TRANS TABLES
    @Jmnote 감사합니다.~ John Jeong
  • MySQL 외래키 옵션 변경
    진짜 필요한 거였는데 이런걸 이제야 알다니 정말 감사합니다. 문태부
  • MySQL 컬럼명으로 테이블 찾기
    회사 가서 쓰기 좋은 코드 1추 Stly3466