지금 문제가되는 것은 실제로이 테이블 (date
keyword_id
, website_id
, occurrence
, percentage
)표
일정 기간 동안 웹 사이트에 대한 키워드 통계를 허용하고 웹 사이트 소유자에게 시각적 그래프 표현을 허용합니다.
이제는 웹 사이트 당 평균 약 57 개의 고유 키워드를 색인하는 것이 문제입니다. 그리고 우리는 매일 약 12000 개의 웹 사이트를 색인화합니다. 이것은 우리가 이미 성능 문제를 겪고 있기 때문입니다. 따라서이 테이블 크기가 매우 빠르게 증가하고 있다는 사진을 얻을 수 있습니다.
는 지금은keyword_id
,
website id
,
occurrence
,
percentage
및
date
)에 인덱스를 가지고있다. 그래서 그들 각각에는 색인이 있습니다. 그러나 나는 여전히 선택에 문제가 있습니다.
PHP로 MySQL에서이 성능 문제를 어떻게 해결할 수 있습니까?
NOTE: The indexes are for each field and 1 for all of them combined as well.
SQL QUERY 1: SELECT * FROM table WHERE keyword_id = "323242"
SQL QUERY 2: SELECT * FROM table WHERE website_id = "232"
SQL QUERY 3: SELECT * FROM table WHERE keyword_id = "323242" ORDER by percentage
SQL QUERY 4: SELECT * FROM table WHERE website_id = "232" ORDER by occurence
SQL QUERY 5: SELECT * FROM table WHERE keyword_id = "323242" ORDER by occurrence
SQL QUERY 6: SELECT * FROM table WHERE website_id = "232" ORDER BY date
문제가있는 쿼리 나 쿼리의 SQL을 게시 할 수 있습니까? – webbiedave
5 개의 필드 모두 또는 5 개의 개별 인덱스가있는 단일 인덱스가 있습니까? 샘플 결과 세트를 표시하면 SELECT 또는 INSERT 데이터에 문제가 있습니까? – Sparky
천천히 실행되는 쿼리의'EXPLAIN'을 게시 할 수 있습니까? – philwinkle