반응형
Maria에서 데이터 부분 집합 선택 속도를 높이는 방법DB
많은 데이터(170GB 압축 크기, 380만 행)가 포함된 거대한 표를 가지고 있는데 이 데이터의 부분 집합을 선택하고 싶습니다.
이 부분 집합은 요독 목록에 의해 정의됩니다.제 테이블에 있는 소변기가 있는 열에는 해시 인덱스가 표시되어 있습니다.
그래서 간단한 질문은
SELECT * FROM mytable WHERE uri IN ("uri1","uri2","uri")
하지만 이 쿼리는 엄청나게 느립니다.약 190의 uris에 대해서는 6시간 이상 지속됩니다.
Query OK, 240777 rows affected (6 hours 46 min 1.34 sec)
이 선택의 속도를 높일 수 있는 방법이 있습니까?현재로서는 외부 도구에서 전체 데이터베이스를 반복하고 관련 행을 버리는 것이 더 빠릅니다.
편집
질의에 대한 설명은 다음과 같습니다.
+------+-------------+---------+-------+---------------+----------+---------+------+--------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+------+-------------+---------+-------+---------------+----------+---------+------+--------+-------------+
| 1 | SIMPLE | SOURCES | range | site_uri | site_uri | 257 | NULL | 421418 | Using where |
+------+-------------+---------+-------+---------------+----------+---------+------+--------+-------------+
1 row in set (0.00 sec)
uri 컬럼에 인덱스가 있습니까?
인덱스만으로도 도움이 될 수 있습니다.그렇지 않은 경우 UNION은 상황을 더 빠르게 만들 수 있습니다(상당히 추하긴 하지만).
SELECT * FROM mytable WHERE uri = "uri1"
UNION
SELECT * FROM mytable WHERE uri = "uri2"
UNION
SELECT * FROM mytable WHERE uri = "uri"
언급URL : https://stackoverflow.com/questions/35244506/how-to-speed-up-a-selection-of-a-subset-of-data-in-mariadb
반응형
'programing' 카테고리의 다른 글
jQuery의 로딩을 연기할 수 있습니까? (0) | 2023.09.21 |
---|---|
입력에서 변경 시 이벤트를 프로그래밍 방식으로 강제하려면 어떻게 해야 합니까? (0) | 2023.09.21 |
AngularJs 식을 이용한 HTML 복호화 (0) | 2023.09.21 |
Oracle: PL/SQL 함수에서 아무것도 반환하지 않을 수 있습니까? (0) | 2023.09.21 |
word press에서 loop을 나열하는 동안 if를 단순화하는 데 도움이 됩니다. (0) | 2023.09.21 |