Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用sqlalchemy测量mysql服务器上的插入时间和查询时间_Mysql_Sql_Sql Server_Database Design_Sqlalchemy - Fatal编程技术网

使用sqlalchemy测量mysql服务器上的插入时间和查询时间

使用sqlalchemy测量mysql服务器上的插入时间和查询时间,mysql,sql,sql-server,database-design,sqlalchemy,Mysql,Sql,Sql Server,Database Design,Sqlalchemy,我有一个使用sqlalchemy的python程序,可以访问运行远程服务器的数据库。远程服务器上运行着mysql-server5.5。下面给出了代码的相关部分 log = core.getLogger() engine = create_engine('mysql://root@192.168.129.139/nwtopology', echo=False) Base = declarative_base() Session = sessionmaker(bind=engine) sessi

我有一个使用sqlalchemy的python程序,可以访问运行远程服务器的数据库。远程服务器上运行着mysql-server5.5。下面给出了代码的相关部分

log = core.getLogger()

engine = create_engine('mysql://root@192.168.129.139/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个条目的平均查询和插入时间

发现平均查询时间为.001424秒

发现平均插入时间为.03144秒

这意味着您最多可以每秒执行32次插入或702次查询

这些数字看起来合理吗。我对数据库和sqlalchemy非常陌生。我的程序需要更多的插入和查询。每个表的条目数和表本身的数量也将显著增加。这是一个最小条目数和一个表的最小原型


我的问题是,这是一次可以从数据库中期望的性能。如果不是,期望的性能是什么?是否有任何已知的机制来加速这个过程。?非常感谢您的帮助。

我建议您阅读我的答案。它深入解释了DBAPIs、SQLAlchemy Core和SQLAlchemy ORM使用的INSERT的种类,包括用例和性能上的差异。

我建议阅读我的答案。它深入解释了DBAPIs、SQLAlchemy核心和SQLAlchemy ORM使用的各种INSERT,包括用例和性能上的差异