나는 id, member_id, topic_id
필드를 가지고 있습니다. 때로는 id
, 때로는 member_id
, 때로는 topic_id
을 WHERE
절에 사용합니다. 모든 항목에 색인을 추가 할 수 있습니까? 속도가 느려 집니까? MYSQL 최적화에 익숙하지 않아서 고마워.MySQL 인덱스는 몇 개나 추가 할 수 있습니까?
3
A
답변
4
사용하지 않는 색인은 SELECT를 느리게 만들지는 않지만 추가 한 색인은 INSERT 및 UPDATE를 느리게 만듭니다.
MyISAM 테이블이 가질 수있는 인덱스의 최대 수는 당신은 다음과 같은 경우에서와 같이, 단 하나의 필드에 쿼리를 필터링 될 경우 각 필드에있는 별도의 인덱스를 원하는 것, 일반적으로 64
2
입니다 :
SELECT * FROM your_table WHERE id = ?;
SELECT * FROM your_table WHERE member_id = ?;
SELECT * FROM your_table WHERE topic_id = ?;
id
필드가 기본 키 인 경우, 그 아마 이미 clustered index을 사용하고 있습니다.
CREATE INDEX ix_your_table_member_id ON your_table (member_id);
CREATE INDEX ix_your_table_topic_id ON your_table (topic_id);
또한 covering indexes의 주제를 연구에 관심이있을 수 : 따라서 그것은 당신이 member_id
및 topic_id
에 non-clustered indexes 별도의 두 가지를 만드는 시도 할 수 있습니다 것 같습니다.
관련 문제
- 1. 인쇄용으로 사용할 수없는 문자는 몇 개나 있습니까?
- 2. 현대 컴퓨터에서 SHA256 해시는 몇 개나 계산할 수 있습니까?
- 3. 오늘 하루에 몇 개나 같은 항목을 하나씩 계산합니까?
- 4. 이 z- 인덱스는 어떻게 강제 적용 할 수 있습니까?
- 5. 데이터베이스에서 RSS 피드를 만들 때 피드에 넣을 아이템이 몇 개나 생겨서 모두 소모 될 수 있습니까?
- 6. iPhone에서 몇 번 터치 할 수 있습니까?
- 7. mySQL 인덱스는 너무 많은 행이 너무 많습니까?
- 8. 추가 필드를 추가 할 수 있습니까?
- 9. MySQL은 몇 개의 데이터베이스를 처리 할 수 있습니까?
- 10. MySQL 내에서 Redis를 호출 할 수 있습니까?
- 11. AxWindowsMediaPlayer 컨트롤에 subtitl을 추가 할 수 있습니까?
- 12. MySQL 테이블에 몇 개의 컬럼을 가질 수 있습니까?
- 13. Wordpress에서 TopName에 로고를 추가 할 수 있습니까?
- 14. ActionListener를 추가 할 수 있습니까? actionPerformed에 인수를 추가 할 수 있습니까?
- 15. MySQL 결과 reocord에 검색 키워드가 몇 개 있는지 검색
- 16. 방금 UIView에 UIButton을 추가했습니다. 버튼 인덱스는 어떻게 얻을 수 있습니까?
- 17. 인덱스는 MVCC에 어떻게 대응합니까?
- 18. git으로 MySQL 백업을 처리 할 수 있습니까?
- 19. mysql 5.1로 피벗을 수행 할 수 있습니까?
- 20. 누구든지이 MySQL 오류를 설명 할 수 있습니까?
- 21. 어떻게이 MySQL 쿼리를 최적화 할 수 있습니까?
- 22. MySQL 쿼리를 어떻게 최적화 할 수 있습니까?
- 23. MySQL : 열거 형을 공유 할 수 있습니까?
- 24. SVN이 MySQL 데이터베이스를 동기화 할 수 있습니까?
- 25. 구조체에 목록을 추가 할 수 있습니까?
- 26. adrotator에 텍스트와 비디오를 추가 할 수 있습니까?
- 27. ModalViewController에 탐색 컨트롤러를 추가 할 수 있습니까?
- 28. android 위젯에 광고를 추가 할 수 있습니까?
- 29. 클로저 유형에 필드를 추가 할 수 있습니까?
- 30. dbml 파일을 컴파일하고 추가 할 수 있습니까?
INSERT 및 UPDATE를 많이 느리게 만들지 않습니까? 그리고 당신이 PHP/MySQL을 잘 볼 수있는 것처럼, 시간이 있으면이 질문을 확인하십시오 : http://stackoverflow.com/questions/3138487/how-many-fields-is-normal-to-have-in- one-table –
일반적으로 거대한 업데이트를 수행하지 않는 한 걱정할 필요가 없습니다. 큰 삽입의 경우 인덱스를 일시적으로 삭제하고 이후에 다시 작성할 수 있습니다. –
또한 EXPLAIN을 사용하여 지정된 쿼리가 예상 한 인덱스를 사용하고 있는지 확인하고 새 인덱스의 필요성을 확인할 수 있습니다. –