from MonetDB import * from PostgreSQL import * import time data =[] header=["Nom de requete","Temps"] #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;""" requeteCreateTableMonetDB = """CREATE TABLE flights10 AS SELECT * FROM FLIGHTS WHERE "DAY" > 10;""" requeteDeleteMonetDB = """DELETE FROM flights WHERE "DAY" > 10;""" requeteInsertMonetDB = """INSERT INTO flights SELECT * FROM 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""" requeteCreateTablePostgreSQL = """CREATE TABLE flights10 AS SELECT * FROM FLIGHTS WHERE "DAY" > 10""" requeteDeletePostgreSQL = """DELETE FROM flights WHERE "DAY" > 10""" requeteInsertPostgreSQL = """INSERT INTO flights SELECT * FROM flights10""" def display_table(data, headers): # Calculate the maximum length for each column based on headers and data column_lengths = [len(header) for header in headers] for row in data: for idx, cell in enumerate(row): column_lengths[idx] = max(column_lengths[idx], len(str(cell))) # Convert cell to string # Create format string for each row row_format = " | ".join(["{{:<{}}}".format(length) for length in column_lengths]) # Print headers print(row_format.format(*headers)) # Print separator print("-|-".join(['-' * length for length in column_lengths])) # Print each data row for row in data: print(row_format.format(*[str(cell) for cell in row])) # Ensure cells are strings def initMonetDB(): reset_data_monetdb() start_time = time.time() create_table_monetdb() end_time = time.time() print("[MonetDB] create table: time = ", (end_time - start_time), "s") start_time = time.time() load_data_monetdb() end_time = time.time() print("[MonetDB] load data : time = ", (end_time - start_time), "s") def execMonetDB(str): start_time = time.time() requete_monetdb(str) end_time = time.time() print("[MonetDB] requete :", str , "\n time = ", (end_time - start_time), "s") def runMonetDB(): execMonetDB(requeteSelect1MonetDB) execMonetDB(requeteSelect2MonetDB) execMonetDB(requeteSelect3MonetDB) execMonetDB(requeteSelect4MonetDB) 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() print("[PostgreSQL] requete :", str, "\n time = ", (end_time - start_time), "s") return end_time - start_time def runPostgreSQL(): data.append([requeteSelect1PostgreSQL,execPostgreSQL(requeteSelect1PostgreSQL)]) data.append([requeteSelect2PostgreSQL,execPostgreSQL(requeteSelect2PostgreSQL)]) data.append([requeteSelect3PostgreSQL,execPostgreSQL(requeteSelect3PostgreSQL)]) data.append([requeteSelect4PostgreSQL,execPostgreSQL(requeteSelect4PostgreSQL)]) if __name__ == '__main__': #initMonetDB() #runMonetDB() #initPostgreSQL() runPostgreSQL() display_table(data, header)