아빠는 개발자

[MySql] parallel 본문

Docker/MySql

[MySql] parallel

father6019 2024. 9. 23. 22:04
728x90
반응형

버전확인

SELECT VERSION();

 

 

 

 

병렬 처리 설정 확인하는 일반 방법

MySQL 서버의 병렬 처리 옵션을 전반적으로 확인하려면 SHOW VARIABLES 명령을 사용하여 관련 변수를 확인할 수 있습니다.

 

SHOW VARIABLES LIKE '%parallel%';

 

이 명령어는 병렬 처리와 관련된 모든 설정 변수를 확인하는 방법

 

 

 

아래는 파이썬을 사용해 MySQL에서 병렬로 SELECT 쿼리를 실행하는 간단한 코드입니다. Python의 concurrent.futures.ThreadPoolExecutor를 사용해 여러 스레드에서 동시에 SELECT 쿼리를 수행할 수 있습니다.

 

import mysql.connector
from concurrent.futures import ThreadPoolExecutor

# MySQL 연결 설정
def execute_select_query():
    try:
        # MySQL 연결
        connection = mysql.connector.connect(
            host='localhost',
            database='test',  # 사용할 데이터베이스명
            user='root',  # 사용자명
            password='yourpassword'  # 비밀번호
        )

        # 커서 생성 및 쿼리 실행
        cursor = connection.cursor()
        query = "SELECT * FROM user_activity LIMIT 10"  # 실행할 SELECT 쿼리
        cursor.execute(query)
        rows = cursor.fetchall()

        # 결과 출력
        for row in rows:
            print(row)

        # 커서 및 연결 종료
        cursor.close()
        connection.close()

    except mysql.connector.Error as err:
        print(f"Error: {err}")

# 병렬로 쿼리 실행
def run_parallel_queries(thread_count):
    with ThreadPoolExecutor(max_workers=thread_count) as executor:
        # 병렬로 SELECT 쿼리를 여러 번 실행
        futures = [executor.submit(execute_select_query) for _ in range(thread_count)]

        # 각 스레드의 결과 기다리기
        for future in futures:
            future.result()

if __name__ == "__main__":
    # 병렬 실행할 스레드 개수 지정
    thread_count = 10
    run_parallel_queries(thread_count)

 

코드 설명

  • execute_select_query(): MySQL에 연결하여 SELECT 쿼리를 실행하고 결과를 출력하는 함수입니다.
  • run_parallel_queries(thread_count): ThreadPoolExecutor를 사용해 여러 스레드에서 병렬로 execute_select_query()를 실행합니다.
  • thread_count: 실행할 스레드(병렬 작업)의 개수를 지정합니다. 이 값에 따라 병렬로 실행할 SELECT 쿼리의 수가 결정됩니다.

실행 방법

1. 먼저 Python에 필요한 패키지를 설치해야 합니다. mysql.connector를 사용하려면 mysql-connector-python 패키지를 설치합니다.

pip install mysql-connector-python​

2. MySQL 서버 설정 정보를 코드에 맞게 수정합니다 (host, database, user, password).

 

3. 실행합니다.

python your_script.py

 

이 코드를 실행하면 지정한 스레드 수 만큼 병렬로 SELECT 쿼리가 실행됩니다.

728x90
반응형

'Docker > MySql' 카테고리의 다른 글

[MySQL] 파티셔닝(Partitioning)  (0) 2024.09.29
[docker] docker compose mysql  (1) 2023.12.31
[docker] Mac Docker Mysql 설치하기  (0) 2023.08.27