ok
This commit is contained in:
165
main.py
165
main.py
@@ -1,3 +1,4 @@
|
||||
import random
|
||||
from MonetDB import *
|
||||
from PostgreSQL import *
|
||||
from datetime import datetime
|
||||
@@ -33,15 +34,27 @@ requeteSelect20_3MonetDB = """SELECT "FLIGHT_NUMBER" FROM flights WHERE "DAY" >
|
||||
requeteSelect25_3MonetDB = """SELECT "FLIGHT_NUMBER" FROM flights WHERE "DAY" > 25;"""
|
||||
requeteSelect30_3MonetDB = """SELECT "FLIGHT_NUMBER" FROM flights WHERE "DAY" > 30;"""
|
||||
|
||||
requeteCreateTable5MonetDB = """CREATE TABLE flights2 AS SELECT * FROM FLIGHTS WHERE "DAY" > 5;"""
|
||||
requeteCreateTable10MonetDB = """CREATE TABLE flights2 AS SELECT * FROM FLIGHTS WHERE "DAY" > 10;"""
|
||||
requeteCreateTable15MonetDB = """CREATE TABLE flights2 AS SELECT * FROM FLIGHTS WHERE "DAY" > 15;"""
|
||||
requeteCreateTable20MonetDB = """CREATE TABLE flights2 AS SELECT * FROM FLIGHTS WHERE "DAY" > 20;"""
|
||||
requeteCreateTable25MonetDB = """CREATE TABLE flights2 AS SELECT * FROM FLIGHTS WHERE "DAY" > 25;"""
|
||||
requeteCreateTable30MonetDB = """CREATE TABLE flights2 AS 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;"""
|
||||
requeteDelete5MonetDB = """DELETE FROM flights WHERE "DAY" > 5;"""
|
||||
requeteDelete10MonetDB = """DELETE FROM flights WHERE "DAY" > 10;"""
|
||||
requeteDelete15MonetDB = """DELETE FROM flights WHERE "DAY" > 15;"""
|
||||
requeteDelete20MonetDB = """DELETE FROM flights WHERE "DAY" > 20;"""
|
||||
requeteDelete25MonetDB = """DELETE FROM flights WHERE "DAY" > 25;"""
|
||||
requeteDelete30MonetDB = """DELETE FROM flights WHERE "DAY" > 30;"""
|
||||
|
||||
requeteInsertMonetDB = """INSERT INTO flights SELECT * FROM flights2;"""
|
||||
|
||||
requeteCopyTableMonetDB = """CREATE TABLE flights2 AS SELECT * FROM FLIGHTS;"""
|
||||
requeteReplaceMonetDB = """UPDATE flights2 SET "WEATHER_DELAY" = -1 WHERE "WEATHER_DELAY" IS NULL;"""
|
||||
requeteDropCopyMonetDB = """DROP TABLE flights2;"""
|
||||
|
||||
requeteDropFlight2MonetDB = """DROP TABLE flights2;"""
|
||||
|
||||
|
||||
#Postgre SQL
|
||||
requeteSelect1PostgreSQL = """SELECT * FROM public.flights WHERE "AIRLINE" = 'AA'"""
|
||||
@@ -69,14 +82,29 @@ requeteSelect20_3PostgreSQL = """SELECT "FLIGHT_NUMBER" FROM public.flights WHER
|
||||
requeteSelect25_3PostgreSQL = """SELECT "FLIGHT_NUMBER" FROM public.flights WHERE "DAY" > 25"""
|
||||
requeteSelect30_3PostgreSQL = """SELECT "FLIGHT_NUMBER" 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"""
|
||||
requeteDropFlight10PostgreSQL = """DROP TABLE flights10"""
|
||||
requeteCreateTable5PostgreSQL = """CREATE TABLE flights2 AS SELECT * FROM FLIGHTS WHERE "DAY" > 5"""
|
||||
requeteCreateTable10PostgreSQL = """CREATE TABLE flights2 AS SELECT * FROM FLIGHTS WHERE "DAY" > 10"""
|
||||
requeteCreateTable15PostgreSQL = """CREATE TABLE flights2 AS SELECT * FROM FLIGHTS WHERE "DAY" > 15"""
|
||||
requeteCreateTable20PostgreSQL = """CREATE TABLE flights2 AS SELECT * FROM FLIGHTS WHERE "DAY" > 20"""
|
||||
requeteCreateTable25PostgreSQL = """CREATE TABLE flights2 AS SELECT * FROM FLIGHTS WHERE "DAY" > 25"""
|
||||
requeteCreateTable30PostgreSQL = """CREATE TABLE flights2 AS SELECT * FROM FLIGHTS WHERE "DAY" > 30"""
|
||||
|
||||
|
||||
requeteDelete5PostgreSQL = """DELETE FROM flights WHERE "DAY" > 5"""
|
||||
requeteDelete10PostgreSQL = """DELETE FROM flights WHERE "DAY" > 10"""
|
||||
requeteDelete15PostgreSQL = """DELETE FROM flights WHERE "DAY" > 15"""
|
||||
requeteDelete20PostgreSQL = """DELETE FROM flights WHERE "DAY" > 20"""
|
||||
requeteDelete25PostgreSQL = """DELETE FROM flights WHERE "DAY" > 25"""
|
||||
requeteDelete30PostgreSQL = """DELETE FROM flights WHERE "DAY" > 30"""
|
||||
|
||||
|
||||
requeteInsertPostgreSQL = """INSERT INTO flights SELECT * FROM flights2"""
|
||||
|
||||
|
||||
requeteCopyTablePostgreSQL = """CREATE TABLE flights2 AS SELECT * FROM FLIGHTS"""
|
||||
requeteReplacePostgreSQL = """UPDATE flights SET "WEATHER_DELAY" = -1 WHERE "WEATHER_DELAY" IS NULL"""
|
||||
requeteDropCopyPostgreSQL = """DROP TABLE flights2"""
|
||||
|
||||
requeteDropFlight2PostgreSQL = """DROP TABLE flights2"""
|
||||
|
||||
rapport : str = ""
|
||||
|
||||
@@ -100,7 +128,7 @@ def initMonetDB():
|
||||
def execMonetDB(str):
|
||||
return requete_monetdb(str)
|
||||
|
||||
def runMonetDB():
|
||||
def readMonetDB():
|
||||
execForMonetDB(5,[requeteSelect1MonetDB])
|
||||
execForMonetDB(5,[requeteSelect2MonetDB])
|
||||
|
||||
@@ -125,26 +153,67 @@ def runMonetDB():
|
||||
execForMonetDB(10,[requeteSelect25_3MonetDB])
|
||||
execForMonetDB(10,[requeteSelect30_3MonetDB])
|
||||
|
||||
#execForMonetDB(5,[requeteCreateTable10MonetDB,requeteDeleteMonetDB,requeteInsertMonetDB,requeteDropFlight10MonetDB])
|
||||
#execMonetDB(requeteDropCopyMonetDB)
|
||||
#execForMonetDB(5,[requeteCopyTableMonetDB,requeteReplaceMonetDB,requeteDropCopyMonetDB]) # 1.34 s
|
||||
def readAndWriteMonetDB():
|
||||
execForMonetDB(4,[requeteCreateTable5MonetDB,requeteDelete5MonetDB,requeteInsertMonetDB,requeteDropFlight2MonetDB])
|
||||
execForMonetDB(4,[requeteCreateTable10MonetDB,requeteDelete10MonetDB,requeteInsertMonetDB,requeteDropFlight2MonetDB])
|
||||
execForMonetDB(4,[requeteCreateTable15MonetDB,requeteDelete15MonetDB,requeteInsertMonetDB,requeteDropFlight2MonetDB])
|
||||
execForMonetDB(4,[requeteCreateTable20MonetDB,requeteDelete20MonetDB,requeteInsertMonetDB,requeteDropFlight2MonetDB])
|
||||
execForMonetDB(4,[requeteCreateTable25MonetDB,requeteDelete25MonetDB,requeteInsertMonetDB,requeteDropFlight2MonetDB])
|
||||
execForMonetDB(4,[requeteCreateTable30MonetDB,requeteDelete30MonetDB,requeteInsertMonetDB,requeteDropFlight2MonetDB])
|
||||
|
||||
|
||||
#execForMonetDB(5,[requeteCopyTableMonetDB,requeteReplaceMonetDB,requeteDropFlight2MonetDB]) # 1.34 s
|
||||
|
||||
def randomWriteMonetDB(n):
|
||||
global rapport
|
||||
time = 0
|
||||
for i in range(n):
|
||||
requete = """INSERT INTO flights ("YEAR","MONTH","DAY","DAY_OF_WEEK","AIRLINE","FLIGHT_NUMBER","TAIL_NUMBER","ORIGIN_AIRPORT","DESTINATION_AIRPORT","SCHEDULED_DEPARTURE","DEPARTURE_TIME") VALUES ("""
|
||||
requete += str(random.randint(2015,2016)) + "," + str(random.randint(1,12)) + "," + str(random.randint(1,31)) + "," + str(random.randint(1,7)) + ",'AA'," + str(random.randint(1,1000)) + ",'N1','JFK','LAX'," + str(random.randint(0,2400)) + "," + str(random.randint(0,2400)) + ");"
|
||||
time = execMonetDB(requete)[0]
|
||||
time = time/n
|
||||
result = "[MonetDB] requete (moyenne de " + str(n) +") : INSERT INTO flights random value \n\ttime = " + str(time) + " s"
|
||||
rapport = rapport + "\n" + result
|
||||
print(result)
|
||||
|
||||
|
||||
def writeMonetDB():
|
||||
randomWriteMonetDB(100)
|
||||
randomWriteMonetDB(100)
|
||||
randomWriteMonetDB(100)
|
||||
|
||||
|
||||
|
||||
|
||||
def runMonetDB():
|
||||
|
||||
readMonetDB()
|
||||
|
||||
readAndWriteMonetDB()
|
||||
|
||||
writeMonetDB()
|
||||
|
||||
|
||||
|
||||
#execute n fois les n requêtes
|
||||
def execForMonetDB(n, tabReq):
|
||||
global rapport
|
||||
t = [[0] * len(tabReq) for _ in range(2)]
|
||||
t = [[0] * len(tabReq) for _ in range(4)]
|
||||
for i in range(n) :
|
||||
print(i+1,"/",n)
|
||||
for j in range(len(tabReq)) :
|
||||
v = execMonetDB(tabReq[j])
|
||||
t[0][j] += v[0]
|
||||
t[1][j] = v[1]
|
||||
if(v[0]<t[2][j] or t[2][j] == 0) :
|
||||
t[2][j] = v[0]
|
||||
if(v[0]>t[3][j]) :
|
||||
t[3][j] = v[0]
|
||||
print("calcul en cours...")
|
||||
|
||||
for j in range(len(tabReq)):
|
||||
t[0][j] = t[0][j]/n
|
||||
result = "[MonetDB] requete (moyenne de " + str(n) +") : " + str(tabReq[j]) + "\n time = " + str(t[0][j]) + " s\nsize=" + str(t[1][j]) + "\n"
|
||||
result = "[MonetDB] requete (moyenne de " + str(n) +") : " + str(tabReq[j]) + "\n\ttime = " + str(t[0][j]) + " s\n\tsize=" + str(t[1][j]) + "\n\tmin time = " + str(t[2][j]) + "\n\tmax time = " + str(t[3][j])
|
||||
rapport = rapport + "\n" + result
|
||||
print(result)
|
||||
|
||||
@@ -173,7 +242,7 @@ def initIndex():
|
||||
def execPostgreSQL(str):
|
||||
return requete_postgres(str)
|
||||
|
||||
def runPostgreSQL():
|
||||
def readPostgreSQL():
|
||||
execForPostgreSQL(2,[requeteSelect1PostgreSQL])
|
||||
execForPostgreSQL(2,[requeteSelect2PostgreSQL])
|
||||
|
||||
@@ -198,25 +267,67 @@ def runPostgreSQL():
|
||||
execForPostgreSQL(5,[requeteSelect25_3PostgreSQL])
|
||||
execForPostgreSQL(5,[requeteSelect30_3PostgreSQL])
|
||||
|
||||
#execForPostgreSQL(2,[requeteCreateTable10PostgreSQL,requeteDeletePostgreSQL,requeteInsertPostgreSQL,requeteDropFlight10PostgreSQL])
|
||||
#execPostgreSQL(requeteDropCopyPostgreSQL)
|
||||
#execForPostgreSQL(2,[requeteCopyTablePostgreSQL,requeteReplacePostgreSQL,requeteDropCopyPostgreSQL]) # 11.97 s
|
||||
def readAndWritePostgreSQL():
|
||||
execForPostgreSQL(4,[requeteCreateTable5PostgreSQL,requeteDelete5PostgreSQL,requeteInsertPostgreSQL,requeteDropFlight2PostgreSQL])
|
||||
execForPostgreSQL(4,[requeteCreateTable10PostgreSQL,requeteDelete10PostgreSQL,requeteInsertPostgreSQL,requeteDropFlight2PostgreSQL])
|
||||
execForPostgreSQL(4,[requeteCreateTable15PostgreSQL,requeteDelete15PostgreSQL,requeteInsertPostgreSQL,requeteDropFlight2PostgreSQL])
|
||||
execForPostgreSQL(4,[requeteCreateTable20PostgreSQL,requeteDelete20PostgreSQL,requeteInsertPostgreSQL,requeteDropFlight2PostgreSQL])
|
||||
execForPostgreSQL(4,[requeteCreateTable25PostgreSQL,requeteDelete25PostgreSQL,requeteInsertPostgreSQL,requeteDropFlight2PostgreSQL])
|
||||
execForPostgreSQL(4,[requeteCreateTable30PostgreSQL,requeteDelete30PostgreSQL,requeteInsertPostgreSQL,requeteDropFlight2PostgreSQL])
|
||||
|
||||
|
||||
|
||||
#execForPostgreSQL(2,[requeteCopyTablePostgreSQL,requeteReplacePostgreSQL,requeteDropFlight2PostgreSQL]) # 11.97 s
|
||||
|
||||
def randomWritePostgreSQL(n):
|
||||
global rapport
|
||||
time = 0
|
||||
for i in range(n):
|
||||
requete = """INSERT INTO flights ("YEAR","MONTH","DAY","DAY_OF_WEEK","AIRLINE","FLIGHT_NUMBER","TAIL_NUMBER","ORIGIN_AIRPORT","DESTINATION_AIRPORT","SCHEDULED_DEPARTURE","DEPARTURE_TIME") VALUES ("""
|
||||
requete += str(random.randint(2015,2016)) + "," + str(random.randint(1,12)) + "," + str(random.randint(1,31)) + "," + str(random.randint(1,7)) + ",'AA'," + str(random.randint(1,1000)) + ",'N1','JFK','LAX'," + str(random.randint(0,2400)) + "," + str(random.randint(0,2400)) + ");"
|
||||
time = execPostgreSQL(requete)[0]
|
||||
time = time/n
|
||||
result = "[PostgreSQL] requete (moyenne de " + str(n) +") : INSERT INTO flights random value \n\ttime = " + str(time) + " s"
|
||||
rapport = rapport + "\n" + result
|
||||
print(result)
|
||||
|
||||
def writePostgreSQL():
|
||||
randomWritePostgreSQL(100)
|
||||
randomWritePostgreSQL(100)
|
||||
randomWritePostgreSQL(100)
|
||||
|
||||
|
||||
|
||||
|
||||
def runPostgreSQL():
|
||||
|
||||
readPostgreSQL()
|
||||
|
||||
readAndWritePostgreSQL()
|
||||
|
||||
writePostgreSQL()
|
||||
|
||||
|
||||
# execute n fois les n requêtes
|
||||
def execForPostgreSQL(n, tabReq):
|
||||
global rapport
|
||||
t = [[0] * len(tabReq) for _ in range(2)]
|
||||
t = [[0] * len(tabReq) for _ in range(4)]
|
||||
# avg nbResult min max
|
||||
for i in range(n):
|
||||
print(i+1,"/",n)
|
||||
for j in range(len(tabReq)):
|
||||
v = execPostgreSQL(tabReq[j])
|
||||
t[0][j] += v[0]
|
||||
t[1][j] = v[1]
|
||||
if(v[0]<t[2][j] or t[2][j] == 0) :
|
||||
t[2][j] = v[0]
|
||||
if(v[0]>t[3][j]) :
|
||||
t[3][j] = v[0]
|
||||
print("calcul en cours...")
|
||||
|
||||
for j in range(len(tabReq)):
|
||||
t[0][j] = t[0][j] / n
|
||||
result = "[PostgreSQL] requete (moyenne de " + str(n) +") : " + str(tabReq[j]) + "\n time = " + str(t[0][j]) + " s\nsize=" + str(t[1][j]) + "\n"
|
||||
result = "[PostgreSQL] requete (moyenne de " + str(n) +") : " + str(tabReq[j]) + "\n\ttime = " + str(t[0][j]) + " s\n\tsize=" + str(t[1][j]) + "\n\tmin time = " + str(t[2][j]) + "\n\tmax time = " + str(t[3][j])
|
||||
rapport = rapport + "\n" + result
|
||||
print(result)
|
||||
|
||||
@@ -235,8 +346,8 @@ if __name__ == '__main__':
|
||||
print(rapport)
|
||||
print("/////////////////////////////////////////////////////////////")
|
||||
|
||||
date = datetime.now()
|
||||
nom_fichier = "result" + date.strftime("%d_%m_%y_%H_%M_%S") + ".txt" #un nom de fichier unique pour ne pas écraser les anciens résultats
|
||||
with open(nom_fichier, 'w') as fichier:
|
||||
fichier.write(rapport)
|
||||
|
||||
#date = datetime.now()
|
||||
#nom_fichier = "result" + date.strftime("_%d_%m_%y_%H_%M_%S") + ".txt" #un nom de fichier unique pour ne pas écraser les anciens résultats
|
||||
#with open(nom_fichier, 'w') as fichier:
|
||||
# fichier.write(rapport)
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user