我试图通过'depth'键在OrderedDict中对OrderedDict进行排序.是否有任何解决方案来排序该词典?
OrderedDict([
(2, OrderedDict([
('depth', 0),
('height', 51),
('width', 51),
('id', 100)
])),
(1, OrderedDict([
('depth', 2),
('height', 51),
('width', 51),
('id', 55)
])),
(0, OrderedDict([
('depth', 1),
('height', 51),
('width', 51),
('id', 48)
])),
])
Run Code Online (Sandbox Code Playgroud)
排序的dict应如下所示:
OrderedDict([
(2, OrderedDict([
('depth', 0),
('height', 51),
('width', 51),
('id', 100)
])),
(0, OrderedDict([
('depth', 1),
('height', 51),
('width', 51),
('id', 48)
])),
(1, OrderedDict([
('depth', 2),
('height', 51),
('width', 51),
('id', 55)
])),
])
Run Code Online (Sandbox Code Playgroud)
任何想法如何得到它?
我们的数据库似乎被打破了,通常它占用了大约1-2%的cpu,但如果我们运行一些额外的后端服务,为10M行表制作UPDATE和INSERT查询(每3秒约1次查询),一切都会下地狱(包括CPU使用率从2%增加到98%).
我们决定调试正在进行的操作,运行VACUUM和ANALYZE以了解db的错误但是......
production=# ANALYZE VERBOSE users_user;
INFO: analyzing "public.users_user"
INFO: "users_user": scanned 280 of 280 pages, containing 23889 live rows and 57 dead rows; 23889 rows in sample, 23889 estimated total rows
INFO: analyzing "public.users_user"
INFO: "users_user": scanned 280 of 280 pages, containing 23889 live rows and 57 dead rows; 23889 rows in sample, 23889 estimated total rows
ERROR: tuple already updated by self
Run Code Online (Sandbox Code Playgroud)
我们无法在任何表格上完成ANALYZE,也无法找到有关此问题的任何信息.有什么建议可能有什么不对吗?
PostgreSQL 9.6.8 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit
Run Code Online (Sandbox Code Playgroud)
评论中要求的其他信息: …