我有使用SQLAlchemy的訪問運行遠程server.The遠程服務器具有的MySQL-server5.5上的後援相關部分運行DATABSE python程序測量的MySQL的服務器上的插入時間和查詢時間代碼如下。使用SQLAlchemy的
log = core.getLogger()
engine = create_engine('mysql://[email protected]/nwtopology', echo=False)
Base = declarative_base()
Session = sessionmaker(bind=engine)
session = Session()
class SourcetoPort(Base):
""""""
__tablename__ = 'source_to_port'
id = Column(Integer, primary_key=True)
port_no = Column(Integer)
src_address = Column(String(32),index=True)
#-----------------------------------------
def __init__(self, src_address,port_no):
""""""
self.src_address = src_address
self.port_no = port_no
#create tables
Base.metadata.create_all(engine)
#query code
r_res = session.query(SourcetoPort).filter_by(src_address=str(packet.src)).first()
#insert code
entry = SourcetoPort(src_address=str(packet.src) , port_no=packet_in.in_port)
#add the record to the session object
session.add(entry)
#add the record to the session object
session.commit()
end = time.time()
elapsed = end - start
我已經計算出平均查詢並將超過64個條目的時間插入數據庫。
平均查詢時間被發現是0.001424秒
平均插入時間被發現是0.03144秒
這意味着你可以做一個第二OR 702最多32個插入查詢一個第二。
這些數字看起來是否合理。我對數據庫和sqlalchemy非常陌生。我的程序需要更多數量的insert和quries.Also每個表的數量和表本身的數量本身會顯着增加。This是裸minumum原型的條目的最小數目和一個表。
我的問題,這是怎樣的表現,一旦能夠從database.?If期望不是有什麼預期的性能?是否有任何已知的機制,以加快這一進程?任何幫助,高度讚賞。