다른 ADO 유형을 사용하여 성능을 향상시킬 수 있는지 확신하지 못합니다. 데이터베이스 크기와 구조와 관련이 있다고 생각합니다.
나는 내 응용 프로그램과 비슷한 문제가있었습니다. 내 고객을 위해 많은 앱을 만들었지 만 그 중 많은 앱이 많은 잠재 고객을 보유하지 못했습니다. 최근에 나는 하나, 그리고 소년을 만들었고, 나는 그것을 효율적으로 만들기 위해서 한 두 가지를 배워야 만했다.
아직 몇 가지 사항을 고려해야합니다. 일부는 너무 다른 사람에게 조금 당신을 위해 기본적이지만 유용 할 수 있습니다 :
1) INDEX 또는 전체 텍스트 인덱스 - 내 데이터베이스 속도를 높이기 위해, 나는 INDEX의 내 쿼리에게 엄청난 양의 속도를 내가 쿼리 열을 추가 (그러나 INSERT의 속도는 약간 느려집니다). 또한 FULLTEXT INDEX를 여러 단어를 검색 한 열에 추가하여 끔찍하게 느린 LIKE/IN 절을 잃어 버릴 수있었습니다.
2) 정상화 또는 정규화 - 내 쿼리 중 하나가 조인과 하위 쿼리를 사용하여 16 개의 테이블을 검색하여 느리고 부피가 커지고 혼란 스럽습니다. 필자는 검색에 필요한 16 개의 테이블에서 사용할 수있는 모든 데이터가 들어있는 "정규화되지 않은"테이블을 만들어이 문제를 해결했습니다.그래서 FULLTEXT INDEX와 de-normalized and indexed table의 도움으로, 쿼리의 길이는 몇 줄에 불과합니다. 정규화되지 않은 테이블을 사용하기 전에 먼저 정규화 된 테이블을 이해해야합니다. 나를 위해, 이것은 당신이 규칙을 어길 수있는 정확한 상황이었다.
3) SQL 필드 선택 - SQL 쿼리에서 필요한 필드 만 선택하십시오. 이것은 단순한 실수이지만 여전히 만들 수 있습니다. 예를 들어 반환 된 열이 모두 필요하지 않은 경우 (select * from myTable) 필요하지 않은 경우 (myTable에서 select id, fname)와 같은 더 정확한 작업을 수행하십시오.
4) 는 DB 정리을 - 나는 액세스에 대한 있지만 OPTIMIZE 쿼리를 사용하여 정리하여 DB를 할 수있는 MYSQL에 확실하지 않다 어떤 때로는 자주 많은 데이터를 삽입하고 삭제하여 생성하여 DB 수리 틈새를, . 타이머, 사용 된 색인, 사용 된 행 및 리턴 된 레코드와 같은 조회를 자세히 설명하는 EXPLAIN을 사용할 수도 있습니다.
DB 성능을 확보하는 데는 여러 가지 방법이 있습니다. 당신이 구글 "데이터베이스 최적화"또는 "데이터베이스 튜닝", 당신은 좋은 읽기를 찾아야 만합니다.
MS 액세스 (어쩌면 SQL Express로)를 대체하지 않고 문제를 해결할 수있을 것입니다. 클래식 ASP는 인트라넷보다 더 많은 것을 처리 할 수 있지만 액세스는 불가능합니다. – Filburt
나는 그것을 고맙게 생각하지만 전환은 옵션이 아니다. 나는 우리가 가능한 한 많이 쥐어 짜려고 노력하고있다. – notreadbyhumans
"연결 유형"이 무엇을 의미하는지 궁금합니다. 가장 효율적인 것은 Microsoft.JET.OLEDB 공급자와 같이 가장 원시적 인 공급자입니다. 그 밖의 무엇을 당신이 참조하고 있는지, 당신은 실제로 사용할 커서 유형에 대해 이야기하고 있습니까? – AnthonyWJones