Knowledge Map

파이썬 플라스크 sqlalchemy - DB받아오기 본문

PYTHON

파이썬 플라스크 sqlalchemy - DB받아오기

2016. 2. 29. 14:37

파이썬 - 플라스크를 사용할때 mysql에서 db를 받아오는 방법은 다양하다. 

pymysql, MySQLdb, sqlalchemy 등등...


sqlalchemy 방법


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# -*- coding: utf-8 -*-
from sqlalchemy import create_engine
 
a_db = create_engine('mysql://root:1234@127.0.0.1:3306')
a_info = a_db.execute("select * from DatabaseName.TableName")
a_history = a_info.fetchall()
 
objects = []
= 0
for data in a_history:
    objects.append({
        "1" : data[0],
        "2" : data[1],
        "3" : data[2],
        "4" : data[3],
        "5" : data[4],
        "6" : data[5],
        "7" : data[6]
    })
 
print objects[0]
print objects[1]
print objects[2]
print objects[3]
print objects[4]
cs


4번째 라인은 원하는 아이피주소

5번째 라인은 원하는 쿼리 작성


pymysql 방법


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import pymysql
 
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='1234',db='testserver')
cur = conn.cursor()
cur.execute("select * from next_android_nextagram")
 
objects = []
for data in cur:
   objects.append({
       "1" : data[0],
       "2" : data[1],
       "3" : data[2],
       "4" : data[3],
       "5" : data[4],
       "6" : data[5],
       "7" : data[6]
   })
 
print objects[0]
print objects[1]
print objects[2]
print objects[3]
print objects[4]
cs



속도 측정을 해보니 생각보다 많이 차이가 났다.


sqlalchemy 

0.124 , 0.104 , 0.134 , 0.107 , 0.108   평균 0.115


pymysql 

1.039 , 1.044 , 1.046 , 1.040 , 1.041   평균 1.0420초


약 9배가 차이났다. 아주 간단한 쿼리였기 때문에 멀티플 쿼리 등을 비교할수는 없지만 간단한, 단일한 쿼리에서는 sqlalchemy를 쓰는게 성능상 이점을 가져올듯 하다.

'PYTHON' 카테고리의 다른 글

파이썬 강의 필기 1일차  (0) 2016.04.03
python2 & python3 설치  (0) 2016.03.19
크롤링 lxml  (0) 2016.03.13
파이썬 프레임워크 플라스크 -1  (0) 2016.02.29
파이썬 api mysql 연동  (0) 2016.02.26
Comments