Postgres(2)
-
20200327 postgresql unnest
1.Postgresql unnest 전에 postgres의 executemany에 관해 포스트한 적이 있는데, ( with psycopg2.connect(host=~~~~) as conn: with conn.cursor() as cur: 에서 cur.executemany()...) 알고보니 exectuemany가 query를 한번에 날리는 것이 아닌 connection을 한번만 할 뿐 query는 똑같이 여러번 한다고 한다. 그럼 더 빠른 query 실행문은 뭘까? 바로 unnest를 활용한 실행문이다. 다음을 보자. def pg_cur(auto_commit=False): with pg2.connect(database=settings.POSTGRES_VECTOR_DB, user=settings.POSTG..
2020.03.27 -
postgres, django_rq.enqueue, collections.counter, 그리고 docker로 환경설정..
1.postgres postgres에서 여러개의 row를 다룰때(특히 insert into?) cur.executemany를 사용하면 한번의 쿼리로 여러개의 row를 처리할 수 있다.( 이거 검색하기전에는 for문으로 넣어야 하는 바보 같은 생각을 했다.) 2. django_rq.enqueue django_rq.enqueue를 사용하면 django 내부에서 query를 처리할 때 queue형식으로 처리하여 좀 더 효율적인 query가 가능해진다고 한다. 한국말로 비동기 작업이라고 한다. 예를 들면, 어떤 서비스에 회원가입을 할 때 인증과정이 필요하다. 이 인증까지의 과정동안에 다른 작업도 처리할 수 있게 하는 것이 비동기 작업이라고 한다. 이건 직접 써보면서 더 익혀봐야 할 것 같다. 참고: https:..
2020.02.29