python - 有没有办法让这个 API 调用更快?
问题描述
有一个简单的文本字段,当用户键入时,将进行一个 api 调用,该调用将根据用户类型获取人员姓名。例如,当用户按下按钮“A”时,将立即发出 API 请求,并且将从数据库中提取所有以“A”开头的名称。当前的问题是,由于我们有大约 100 万个条目,每个请求大约需要 8-10 秒。有没有办法让它更快?
这是我正在制作的 axios 发布请求。
fetchingDataOnChange = () => {
let nameValue = this.state.searchName;
var myParams = {
nameValue: nameValue
}
axios.post('/get-hcp-data', myParams)
.then((res) => {
const hcps = res.data;
this.setState({ hcps: hcps, hcpName: Object.values(hcps.hcp_details_concat) })
console.log(res);
}, (error) => {
console.log(error);
});
}
这是烧瓶中的功能:
@app.route('/get-hcp-data', methods=['GET', 'POST'])
def get_hcp_data():
value = request.get_json()
newValue = value['nameValue']
engine = connect_pg()
sql = "select * from dim_hcp_details where lower(hcp_name) like lower('"+newValue+"%') limit 50"
hcp_details = pd.read_sql_query(sql,engine)
hcp_details['hcp_details_concat'] = "[" + hcp_details['hcp_id'] + "]" + hcp_details['hcp_name']
hcp_dict = hcp_details.to_dict()
return jsonify(hcp_dict)
解决方案
推荐阅读
- github - 在您的 PR 之前将某些内容合并到 master 之后,您如何处理在 GitHub 上更新 PR?
- vue.js - Vue JS 中的错误处理 - 未捕获的错误
- customization - Epicor ERP 能否在定制中调用 Epicor 函数
- c++ - 如何测试共享对象是 32 位还是 64 位?
- c - 如何在c中使用指针获取回文?
- angular - canMakePayment() 在 LOCALHOST 中总是返回 null
- javascript - React-Native 如何更改每个项目的状态值?
- python - 如何在 python 中执行构造函数重载?
- css - 如何使用现有的 css 网格从路由器模块调整角度分量
- node.js - 参数 'info' 隐式具有 'any' 类型