使用Azure Postgres的请求时间很慢

时间:2019-07-18 12:52:14

标签: postgresql azure-postgresql

当我尝试使用class SensorInfoWindow extends React.Component { handleIconClick = () => { // do stuff here } componentDidMount() { this.addClickHandlers(); } componentDidUpdate() { this.addClickHandlers(); } addClickHandlers = () => { const keys = Object.keys(this.refs); for(let i=0; i<keys.length; i++) { const key = keys[i]; let element = this.refs[key]; if (element !== undefined) element.addEventListener('click', this.handleIconClick); } } render() { const { thissensor, allsensors } = this.props; let divsToAddHandlersTo = []; const sensorkeys = Object.keys(allsensors); for (let i=0; i<sensorkeys.length; i++) { divsToAddHandlersTo.push( <div ref={'stringref' + i} /> {/* children here, using InfoBox */} </div> ); } return ( <div> {divsToAddHandlersTo} </div> ); } } 查询postgres时,即使从一个表进行简单的psql查询也要花费约1.5s。当我在postgres控制台中时,没有问题,查询将在100毫秒内执行。什么会导致这种延迟?

SELECT

仅供参考:表格中有11个条目

1 个答案:

答案 0 :(得分:0)

延迟是建立数据库连接所花费的时间。

1.5秒相当la脚。但这不必成为杀手er,因为您应该使用连接池并保持数据库会话打开。

可以肯定的是,您可以将结果与

进行比较
psql -U postgres@user -h  my-server.postgres.database.azure.com database_name <<EOF
SELECT count(*), clock_timestamp() FROM table_name;
SELECT count(*), clock_timestamp() FROM table_name;
SELECT count(*), clock_timestamp() FROM table_name;
SELECT count(*), clock_timestamp() FROM table_name;
SELECT count(*), clock_timestamp() FROM table_name;
SELECT count(*), clock_timestamp() FROM table_name;
SELECT count(*), clock_timestamp() FROM table_name;
SELECT count(*), clock_timestamp() FROM table_name;
SELECT count(*), clock_timestamp() FROM table_name;
SELECT count(*), clock_timestamp() FROM table_name;
SELECT count(*), clock_timestamp() FROM table_name;
SELECT count(*), clock_timestamp() FROM table_name;
SELECT count(*), clock_timestamp() FROM table_name;
SELECT count(*), clock_timestamp() FROM table_name;
SELECT count(*), clock_timestamp() FROM table_name;
EOF

那应该更快。区别在于连接时间。