우분투에 MySql을 설치하는 방법

How Install Mysql Ubuntu



쿼리 캐시에 대한 쿼리 최적화

대부분의 MySQL 서버는 쿼리 캐싱을 지원합니다. 성능 향상을 위한 최고의 전략 중 하나이며 데이터베이스 엔진에서 눈에 띄지 않게 처리합니다. 동일한 쿼리가 여러 번 실행될 때마다 캐시에서 결과가 나오므로 훨씬 빠릅니다.







SELECT 쿼리 설명



MySQL이 쿼리를 실행하기 위해 수행하는 작업에 대한 통찰력을 얻으려면 EXPLAIN 키워드를 사용하십시오. 이렇게 하면 쿼리 또는 기타 데이터베이스 개체에 문제를 일으킬 수 있는 병목 현상 및 기타 문제를 식별하는 데 도움이 됩니다.



LIMIT 1 고유 행을 얻을 때





하나의 행에 대해서만 테이블을 쿼리하거나 주어진 WHERE 절과 일치하는 레코드가 있는 경우 성능을 향상시키기 위해 SELECT 쿼리에 LIMIT 1을 추가하는 것이 좋습니다. 즉, 데이터베이스 엔진은 주어진 전체 데이터베이스 개체를 검색하는 대신 단 하나의 레코드만 찾은 후에 결과를 반환합니다.

검색 필드 인덱싱



테이블에 사용할 열이 있는 경우 로 검색 쿼리의 경우 항상 색인을 생성하는 것이 좋습니다.

조인에 동일한 열 이름을 인덱싱하고 사용

또한 JOIN에 사용되는 열을 항상 인덱싱하는 것도 모범 사례입니다. 이것은 MySQL이 JOIN 작업을 최적화하는 방법을 크게 향상시킵니다. 또한 조인되는 열이 동일한 데이터 유형인지 확인하십시오. 종류가 다른 경우 MySQL은 인덱스 중 하나를 사용하지 못할 수 있습니다.

모두 선택하지 않기(SELECT *)

테이블에서 읽는 데이터의 양은 쿼리 속도에 큰 영향을 미칩니다. 디스크 작업에 걸리는 시간에 영향을 줍니다. 데이터베이스 서버가 네트워크를 통해 액세스되는 경우 네트워크를 통해 데이터를 전송하는 데 필요한 시간에 영향을 미칩니다. SELECT를 수행할 때 필요한 열을 지정하는 것은 항상 MySQL의 모범 사례 중 하나입니다.

적합한 스토리지 엔진 선택

MySQL에는 두 가지 주요 스토리지 엔진이 있습니다. MyISAM 및 InnoDB. 이들 각각에는 장점과 단점이 있습니다.

마이이삼 쓰기가 많은 경우에는 성능이 좋지 않지만 읽기 작업이 많은 앱에 권장됩니다. 데이터베이스 개체는 단순함에 관계없이 작업이 완료되면 잠깁니다. MyISAM은 수많은 SELECT COUNT(*) 쿼리를 수행할 때 유용합니다.

이노DB 보다 정교한 스토리지 엔진이 되는 경향이 있습니다. 그러나 많은 소규모 응용 프로그램의 경우 MyISAM보다 약간 지연될 수 있습니다. 그러나 확장성이 더 좋은 행 기반 잠금을 지원합니다. 또한 트랜잭션과 같은 고급 기능을 처리할 수도 있습니다.

출처

https://www.fullstackpython.com/blog/install-mysql-ubuntu-1604.html
https://code.tutsplus.com/tutorials/top-20-mysql-best-practices–net-7855