단순하게 쿼리 성능테스트를 해보기로 했다 Index설정 할 때와 하지 않고 할때.
우리가 db를 설계할때 왜 많은 고민을 하며 해야 하는지를 알 수 있을 것이다.
해당 조건은 아래와 같다.
조건 쿼리는 아래와 같이 할 예정이다.
primary key로 seq가 되어 있기에 속도로 보면 바로바로 튀어 나온다. 하지만 index 걸려있지 않는 mb_id를 where절에 넣는다면 얘기가 달라질 것이다.
MariaDB [ted]> select * from member_table where seq=2341;
그럼 이제 mb_id로 쿼리를 해보겠다.
MariaDB [ted]> select * from member_table where mb_id="ted2341";
그럼 이제 mb_id index를 설정하고 다시 한번 쿼리를 실행해 보겠다.
MariaDB [ted]> create index mb_id on member_table(mb_id);
Stage: 2 of 2 'Enabling keys' 0% of stage done
Query OK, 9999998 rows affected (55.429 sec)
Records: 9999998 Duplicates: 0 Warnings: 0
MariaDB [ted]> show index from member_table;
+--------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Ignored |
+--------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
| member_table | 0 | PRIMARY | 1 | seq | A | 9999998 | NULL | NULL | | BTREE | | | NO |
| member_table | 1 | mb_id | 1 | mb_id | A | 9999998 | NULL | NULL | YES | BTREE | | | NO |
+--------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
2 rows in set (0.001 sec)
member_table의 mb_id컬럼에 대해 index가 생성 되었습니다.
위에서 실행했던 쿼리에 대해 속도가 얼마나 빨라졌을지 확인해 보겠습니다. 다들 어떻게 생각하시나요
별로 많은 데이터가 아님에도 불구하고 아래와 같은 결과가 나왔습니다.
우리가 왜 DB사용에 신중을 기해야 하며 많은 시간을 할애 해야 하는지를 알 수 있을 거라 생각 합니다.
MariaDB [ted]> select * from member_table where mb_id="ted2341";
+------+---------+-------+---------+---------+
| seq | mb_id | mb_pw | address | mb_tell |
+------+---------+-------+---------+---------+
| 2341 | ted2341 | 1234 | LEE | sjglka |
+------+---------+-------+---------+---------+
1 row in set (0.001 sec)
다들 많은 도움이 되셨기를 바랍니다.
'서버인프라 > 데이터베이스' 카테고리의 다른 글
MariaDB SlowQuery Log 설정 (0) | 2022.12.06 |
---|---|
Mysql 과 Mariadb dump 복구 성능 테스트 (0) | 2022.11.27 |
한 가지 트릭으로 MariaDB를 30배 더 빠르게 만들 수 있습니다! (0) | 2022.10.31 |
MariaDB update (1) | 2022.10.30 |
lock tables 오류 (0) | 2022.10.27 |
댓글