from MonetDB import * from PostgreSQL import * 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;""" requeteCreateTable10MonetDB = """CREATE TABLE flights10 AS SELECT * FROM FLIGHTS WHERE "DAY" > 10;""" requeteDeleteMonetDB = """DELETE FROM flights WHERE "DAY" > 10;""" requeteInsertMonetDB = """INSERT INTO flights SELECT * FROM flights10;""" 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""" 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""" def initMonetDB(): reset_data_monetdb() time = create_table_monetdb() print("[MonetDB] create table: time = ", time, "s\n") time = load_data_monetdb() print("[MonetDB] load data : time = ", time, "s\n") def execMonetDB(str): return requete_monetdb(str) def runMonetDB(): execForMonetDB(5,[requeteSelect1MonetDB]) execForMonetDB(5,[requeteSelect2MonetDB]) execForMonetDB(5,[requeteSelect3MonetDB]) execForMonetDB(5,[requeteSelect4MonetDB]) execForMonetDB(5,[requeteCreateTable10MonetDB,requeteDeleteMonetDB,requeteInsertMonetDB,requeteDropflight10MonetDB]) #execute n fois les n requêtes def execForMonetDB(n, tabReq): t = [0] * len(tabReq) for i in range(n) : for j in range(len(tabReq)) : t[j]+=execMonetDB(tabReq[j]) for j in range(len(tabReq)): t[j] = t[j]/n print("[MonetDB] requete (moyenne de",n,") :", tabReq[j] , "\n time = ", t[j], "s\n") def initPostgreSQL(): reset_database_postgres() start_time = time.time() create_tables_postgres() end_time = time.time() print("[PostgreSQL] create table: time = ", (end_time - start_time), "s") start_time = time.time() create_data_postgres() end_time = time.time() print("[PostgreSQL] load data : time = ", (end_time - start_time), "s") def execPostgreSQL(str): start_time = time.time() requete_postgres(str) end_time = time.time() return end_time-start_time def runPostgreSQL(): execForPostgreSQL(5,[requeteSelect1PostgreSQL]) execForPostgreSQL(5,[requeteSelect2PostgreSQL]) execForPostgreSQL(5,[requeteSelect3PostgreSQL]) execForPostgreSQL(5,[requeteSelect4PostgreSQL]) execForPostgreSQL(5,[requeteCreateTable10PostgreSQL,requeteDeletePostgreSQL,requeteInsertPostgreSQL,requeteDropflight10MonetSQL]) # execute n fois les n requêtes def execForPostgreSQL(n, tabReq): t = [0] * len(tabReq) for i in range(n): for j in range(len(tabReq)): t[j] += execPostgreSQL(tabReq[j]) for j in range(len(tabReq)): t[j] = t[j] / n print("[PostgreSQL] requete (moyenne de", n, ") :", tabReq[j], "\n time = ", t[j], "s\n") if __name__ == '__main__': initMonetDB() runMonetDB() #initPostgreSQL() #runPostgreSQL()