plus de requete

This commit is contained in:
trochas
2024-12-11 14:08:45 +01:00
parent 676057fde8
commit 11fa027f8c
3 changed files with 39 additions and 14 deletions

View File

@@ -130,6 +130,7 @@ def reset_data_monetdb():
cursor.execute("DROP TABLE IF EXISTS airlines")
cursor.execute("DROP TABLE IF EXISTS airports")
cursor.execute("DROP TABLE IF EXISTS flights")
cursor.execute("DROP TABLE IF EXISTS flights10")
conn.commit()
end_time = time.time()
cursor.close()

View File

@@ -114,7 +114,7 @@ def reset_database_postgres():
try:
with connect_postgres() as conn:
with conn.cursor() as cursor:
cursor.execute('DROP TABLE IF EXISTS flights,airlines,airports')
cursor.execute('DROP TABLE IF EXISTS flights,airlines,airports,flights10')
conn.commit()
cursor.close()
conn.close()

50
main.py
View File

@@ -5,8 +5,13 @@ import time
#Monet DB
requeteSelect1MonetDB = """SELECT * FROM flights WHERE "AIRLINE" = 'AA';"""
requeteSelect2MonetDB = """SELECT * FROM flights;"""
requeteSelect3MonetDB = """SELECT * FROM flights WHERE "DAY" > 10;"""
requeteSelect4MonetDB = """SELECT * FROM flights WHERE "DAY" > 30;"""
requeteSelect5MonetDB = """SELECT * FROM flights WHERE "DAY" > 5;"""
requeteSelect10MonetDB = """SELECT * FROM flights WHERE "DAY" > 10;"""
requeteSelect15MonetDB = """SELECT * FROM flights WHERE "DAY" > 15;"""
requeteSelect20MonetDB = """SELECT * FROM flights WHERE "DAY" > 20;"""
requeteSelect25MonetDB = """SELECT * FROM flights WHERE "DAY" > 25;"""
requeteSelect30MonetDB = """SELECT * FROM flights WHERE "DAY" > 30;"""
requeteCreateTable10MonetDB = """CREATE TABLE flights10 AS SELECT * FROM FLIGHTS WHERE "DAY" > 10;"""
requeteDeleteMonetDB = """DELETE FROM flights WHERE "DAY" > 10;"""
@@ -17,13 +22,17 @@ requeteDropflight10MonetDB = """DROP TABLE flights10;"""
#Postgre SQL
requeteSelect1PostgreSQL = """SELECT * FROM public.flights WHERE "AIRLINE" = 'AA'"""
requeteSelect2PostgreSQL = """SELECT * FROM public.flights"""
requeteSelect3PostgreSQL = """SELECT * FROM public.flights WHERE "DAY" > 10"""
requeteSelect4PostgreSQL = """SELECT * FROM public.flights WHERE "DAY" > 30"""
requeteSelect5PostgreSQL = """SELECT * FROM public.flights WHERE "DAY" > 5"""
requeteSelect10PostgreSQL = """SELECT * FROM public.flights WHERE "DAY" > 10"""
requeteSelect15PostgreSQL = """SELECT * FROM public.flights WHERE "DAY" > 15"""
requeteSelect20PostgreSQL = """SELECT * FROM public.flights WHERE "DAY" > 20"""
requeteSelect25PostgreSQL = """SELECT * FROM public.flights WHERE "DAY" > 25"""
requeteSelect30PostgreSQL = """SELECT * FROM public.flights WHERE "DAY" > 30"""
requeteCreateTable10PostgreSQL = """CREATE TABLE flights10 AS SELECT * FROM FLIGHTS WHERE "DAY" > 10"""
requeteDeletePostgreSQL = """DELETE FROM flights WHERE "DAY" > 10"""
requeteInsertPostgreSQL = """INSERT INTO flights SELECT * FROM flights10"""
requeteDropflight10MonetSQL = """DROP TABLE flights10"""
requeteDropflight10PostgreSQL = """DROP TABLE flights10"""
def initMonetDB():
reset_data_monetdb()
@@ -40,8 +49,12 @@ def execMonetDB(str):
def runMonetDB():
execForMonetDB(5,[requeteSelect1MonetDB])
execForMonetDB(5,[requeteSelect2MonetDB])
execForMonetDB(5,[requeteSelect3MonetDB])
execForMonetDB(5,[requeteSelect4MonetDB])
execForMonetDB(5,[requeteSelect5MonetDB])
execForMonetDB(5,[requeteSelect10MonetDB])
execForMonetDB(5,[requeteSelect15MonetDB])
execForMonetDB(5,[requeteSelect20MonetDB])
execForMonetDB(5,[requeteSelect25MonetDB])
execForMonetDB(5,[requeteSelect30MonetDB])
execForMonetDB(5,[requeteCreateTable10MonetDB,requeteDeleteMonetDB,requeteInsertMonetDB,requeteDropflight10MonetDB])
@@ -49,8 +62,10 @@ def runMonetDB():
def execForMonetDB(n, tabReq):
t = [0] * len(tabReq)
for i in range(n) :
print(i+1,"/",n)
for j in range(len(tabReq)) :
t[j]+=execMonetDB(tabReq[j])
print("calcul en cours...")
for j in range(len(tabReq)):
t[j] = t[j]/n
@@ -61,12 +76,12 @@ def initPostgreSQL():
start_time = time.time()
create_tables_postgres()
end_time = time.time()
print("[PostgreSQL] create table: time = ", (end_time - start_time), "s")
print("[PostgreSQL] create table: time = ", (end_time - start_time), "s\n")
start_time = time.time()
create_data_postgres()
end_time = time.time()
print("[PostgreSQL] load data : time = ", (end_time - start_time), "s")
print("[PostgreSQL] load data : time = ", (end_time - start_time), "s\n")
def execPostgreSQL(str):
start_time = time.time()
@@ -76,17 +91,26 @@ def execPostgreSQL(str):
def runPostgreSQL():
execForPostgreSQL(5,[requeteSelect1PostgreSQL])
execForPostgreSQL(5,[requeteSelect2PostgreSQL])
execForPostgreSQL(5,[requeteSelect3PostgreSQL])
execForPostgreSQL(5,[requeteSelect4PostgreSQL])
execForPostgreSQL(5,[requeteCreateTable10PostgreSQL,requeteDeletePostgreSQL,requeteInsertPostgreSQL,requeteDropflight10MonetSQL])
execForPostgreSQL(3,[requeteSelect2PostgreSQL])
execForPostgreSQL(2,[requeteSelect5PostgreSQL])
execForPostgreSQL(3,[requeteSelect10PostgreSQL])
execForPostgreSQL(3,[requeteSelect15PostgreSQL])
execForPostgreSQL(4,[requeteSelect20PostgreSQL])
execForPostgreSQL(4,[requeteSelect25PostgreSQL])
execForPostgreSQL(5,[requeteSelect30PostgreSQL])
execForPostgreSQL(3,[requeteCreateTable10PostgreSQL,requeteDeletePostgreSQL,requeteInsertPostgreSQL,requeteDropflight10PostgreSQL])
# execute n fois les n requêtes
def execForPostgreSQL(n, tabReq):
t = [0] * len(tabReq)
for i in range(n):
print(i+1,"/",n)
for j in range(len(tabReq)):
t[j] += execPostgreSQL(tabReq[j])
print("calcul en cours...")
for j in range(len(tabReq)):
t[j] = t[j] / n