현재 위치: > 최신 기사 목록> Codeigniter Middleware에서 데이터베이스 쿼리 및 연결 성능을 최적화하기위한 실용적인 팁

Codeigniter Middleware에서 데이터베이스 쿼리 및 연결 성능을 최적화하기위한 실용적인 팁

M66 2025-08-05

소개

웹 개발에서 데이터베이스의 쿼리 및 연결 성능은 웹 사이트의 응답 속도 및 사용자 경험에 중요합니다. 이 기사는 Codeigniter 프레임 워크에서 미들웨어를 사용하여 데이터베이스 작업의 성능을 최적화하고 특정 코드 예제와 함께 설명하는 방법을 소개합니다.

연결 성능 최적화

데이터베이스 연결 풀 사용

데이터베이스 연결 풀링 기술을 통해 데이터베이스 연결의 빈번한 설정 및 폐쇄로 인한 성능 손실을 피하기 위해 연결을 멀티 플렉스 할 수 있습니다. Codeigniter는 내장 기능 또는 타사 라이브러리를 통한 연결 풀링을 지원합니다. 다음 예제는 프레임 워크의 기본 연결 구성을 보여줍니다.

 // 연결 풀을 구성 $ db [ 'default'] = array (
    'dsn'=> 'mysql : host = localhost; dbname = mydatabase',
    '사용자 이름'=> 'myusername',
    '암호'=> 'myPassword',
    'dbdriver'=> 'pdo',
    'pconnect'=> false,
    'db_debug'=> (환경! == '프로덕션'),
    'cache_on'=> false,
    '캐시 디르'=> '',
    'char_set'=> 'utf8',
    'dbcollat'=> 'utf8_general_ci',
    'swap_pre'=> '',
    '암호화'=> false,
    'compress'=> false,
    'stricton'=> false,
    'Failover'=> array (),
    'save_queries'=> true
);

긴 연결을 설정하십시오

긴 연결은 데이터베이스 연결 설정 및 단절의 오버 헤드를 줄여 성능을 향상시킬 수 있습니다. 긴 연결을 활성화하기 위해 데이터베이스 구성에서 pconnect를 true 로 설정하기 만하면됩니다.

 $ db [ 'default'] = 배열 (
    // ...
    'pconnect'=> true, // 긴 연결 활성화 // ...
);

쿼리 성능 최적화

인덱스를 합리적으로 사용하십시오

데이터베이스 테이블에서 일반적으로 사용되는 쿼리 필드에 대한 인덱스 생성은 쿼리 효율을 크게 향상시키는 데 도움이됩니다. CodeIgniter에서는 기본 SQL 문을 실행하여 색인을 만들 수 있습니다.

 $ this-> db-> query ( 'table_name에서 index index_name을 create index_name (collect_name)');

캐시 쿼리 결과

쿼리 캐시를 켜면 데이터베이스에 대한 중복 액세스가 줄어들고 페이지로드 속도를 향상시킬 수 있습니다. 프레임 워크의 캐싱 메커니즘을 사용할 수 있습니다.

 $ this-> db-> cache_on ();

필요에 따라 최상의 결과를 얻으려면 캐시 만료 시간 및 캐시 디렉토리 위치를 설정할 수도 있습니다.

배치 삽입 및 업데이트

다량의 데이터의 배치 처리가 발생하면 배치 삽입 또는 업데이트 방법을 사용하면 데이터베이스 작업 수를 효과적으로 줄이고 성능을 향상시킬 수 있습니다. 예는 다음과 같습니다.

 $ data = 배열 (
    정렬(
        'title'=> '내 제목',
        '이름'=> '내 이름',
        '날짜'=> '내 날짜'
    ),)
    정렬(
        'title'=> '다른 제목',
        '이름'=> '다른 이름',
        '날짜'=> '다른 날짜'
    ))
);
$ this-> db-> insert_batch ( 'mytable', $ data);

전처리 진술을 사용하십시오

전처리 명세서는 SQL 주입을 방지 할뿐만 아니라 쿼리 효율을 향상시킵니다. CodeIgniter는 매개 변수를 전달하여 전처리를 지원합니다.

 $ sql = "mytable에서 id =? and name =?";
$ this-> db-> query ($ sql, array (3, 'John'));

결론적으로

데이터베이스 연결 풀, 긴 연결, 인덱스, 캐시 쿼리, 배치 작업 및 전처리 명령문을 합리적으로 사용하면 Codeigniter 프로젝트의 데이터베이스 성능을 크게 최적화 할 수 있으며 웹 사이트 응답 속도 및 사용자 경험이 향상 될 수 있습니다. 실제 애플리케이션에서는 불필요한 데이터베이스 오버 헤드를 피하기 위해 특정 비즈니스 시나리오 및 데이터 척도를 기반으로 적절한 최적화 전략을 선택해야합니다.

이 기사의 내용이 귀하의 Codeigniter 개발에 실질적인 도움을 제공하여 웹 응용 프로그램을보다 빠르고 효율적으로 만들 수 있기를 바랍니다.