PgHero
No long running queries
Connections healthy 32
Vacuuming healthy
No columns near integer overflow
No invalid indexes or constraints
10 duplicate indexes
4 suggested indexes
37 slow queries

Duplicate Indexes

These indexes exist, but aren’t needed. Remove them for faster writes.

rails generate migration remove_unneeded_indexes

And paste

remove_index :account_account, name: "account_account_code_index", column: :code
remove_index :account_analytic_account, name: "account_analytic_account_code_index", column: :code
remove_index :crm_lead, name: "crm_lead_user_id_index", column: :user_id
remove_index :hr_job, name: "hr_job_name_index", column: :name
remove_index :mail_blacklist, name: "mail_blacklist_email_index", column: :email
remove_index :mail_followers, name: "mail_followers_res_model_index", column: :res_model
remove_index :payment_transaction, name: "payment_transaction_reference_index", column: :reference
remove_index :phone_blacklist, name: "phone_blacklist_number_index", column: :number
remove_index :stock_move, name: "stock_move_product_id_index", column: :product_id
remove_index :stock_picking, name: "stock_picking_name_index", column: :name
Details
On account_account
account_account_code_index (code)
is covered by
account_account_code_company_uniq (code, company_id)
On account_analytic_account
account_analytic_account_code_index (code)
is covered by
account_analytic_account_project_task_unique_code (code)
On crm_lead
crm_lead_user_id_index (user_id)
is covered by
crm_lead_user_id_team_id_type_index (user_id, team_id, type)
On hr_job
hr_job_name_index (name)
is covered by
hr_job_name_company_uniq (name, company_id, department_id)
On mail_blacklist
mail_blacklist_email_index (email)
is covered by
mail_blacklist_unique_email (email)
On mail_followers
mail_followers_res_model_index (res_model)
is covered by
mail_followers_mail_followers_res_channel_res_model_id_uniq (res_model, res_id, channel_id)
On payment_transaction
payment_transaction_reference_index (reference)
is covered by
payment_transaction_reference_uniq (reference)
On phone_blacklist
phone_blacklist_number_index (number)
is covered by
phone_blacklist_unique_number (number)
On stock_move
stock_move_product_id_index (product_id)
is covered by
stock_move_product_location_index (product_id, location_id, location_dest_id, company_id, state)
On stock_picking
stock_picking_name_index (name)
is covered by
stock_picking_name_uniq (name, company_id)

Suggested Indexes

Add indexes to speed up queries.

rails generate migration add_suggested_indexes

And paste

commit_db_transaction
add_index :account_analytic_line, [:timesheet_invoice_id], algorithm: :concurrently
add_index :ir_attachment, "url gist_trgm_ops", using: "gist", algorithm: :concurrently

add_index :purchase_requisition_line, [:requisition_id], algorithm: :concurrently
add_index :sale_order, [:analytic_account_id], algorithm: :concurrently

Details
CREATE INDEX CONCURRENTLY ON account_analytic_line (timesheet_invoice_id)
Rows: 848454
Row progression: 848454, 0

Row estimates
- timesheet_invoice_id (=): 0
- date (sort): 1512

Existing indexes
- id PRIMARY
- account_id
- date
- move_id
- task_id

to speed up

Total Time Average Time Calls
15 min 0.4% 122 ms 7,394 odoo
SELECT "account_analytic_line".id FROM "account_analytic_line" WHERE ("account_analytic_line"."timesheet_invoice_id" in ($1)) ORDER BY  "account_analytic_line"."date" DESC,"account_analytic_line"."id" DESC

Details
CREATE INDEX CONCURRENTLY ON ir_attachment USING gist (url gist_trgm_ops)
Rows: 681517
Row progression: 681517, 52

Row estimates
- url (~~): 52
- create_uid (=): 4605
- name (sort): 24

Existing indexes
- id PRIMARY
- checksum
- original_id
- res_model, res_id
- url

to speed up

Total Time Average Time Calls
75 min 2% 105 ms 43,321 odoo
SELECT max(id)
               FROM ir_attachment
              WHERE create_uid = $1
                AND url like $2
           GROUP BY name
           ORDER BY name

Details
CREATE INDEX CONCURRENTLY ON purchase_requisition_line (requisition_id)
Rows: 131722
Row progression: 131722, 9

Row estimates
- requisition_id (=): 9
- id (sort): 1

Existing indexes
- id PRIMARY

to speed up

Total Time Average Time Calls
3 min < 0.1% 25 ms 6,334 odoo
SELECT "purchase_requisition_line".id FROM "purchase_requisition_line" WHERE ("purchase_requisition_line"."requisition_id" in ($1)) ORDER BY  "purchase_requisition_line"."id"

Details
CREATE INDEX CONCURRENTLY ON sale_order (analytic_account_id)
Rows: 56712
Row progression: 56712, 11

Row estimates
- analytic_account_id (=): 11
- id (sort): 1

Existing indexes
- id PRIMARY
- company_id
- create_date
- date_order
- message_main_attachment_id
- name
- partner_id
- state
- user_id

to speed up

Total Time Average Time Calls
3 min < 0.1% 21 ms 7,958 odoo
SELECT "sale_order".id FROM "sale_order" WHERE ("sale_order"."analytic_account_id" in ($1)) ORDER BY  "sale_order"."id"

Slow Queries

Slow queries take 20 ms or more on average and have been called at least 100 times.

Explain queries to see where to add indexes.

Total Time Average Time Calls
75 min 2% 105 ms 43,321 odoo
SELECT max(id)
               FROM ir_attachment
              WHERE create_uid = $1
                AND url like $2
           GROUP BY name
           ORDER BY name
Details
CREATE INDEX CONCURRENTLY ON ir_attachment USING gist (url gist_trgm_ops)
Rows: 681517
Row progression: 681517, 52

Row estimates
- url (~~): 52
- create_uid (=): 4605
- name (sort): 24

Existing indexes
- id PRIMARY
- checksum
- original_id
- res_model, res_id
- url
71 min 2% 66 ms 64,717 odoo
SELECT res_partner.id
                         FROM "res_partner"
                       WHERE ("res_partner"."active" = $1) AND (((("res_partner"."partner_share" IS NULL or "res_partner"."partner_share" = $2 ) OR ("res_partner"."company_id" in ($3))) OR "res_partner"."company_id" IS NULL ) AND (((("res_partner"."type" != $4) OR "res_partner"."type" IS NULL) OR "res_partner"."type" IS NULL ) OR (("res_partner"."type" = $5) AND ("res_partner"."create_uid" = $6)))) AND  (res_partner.email ilike $7
                           OR res_partner.display_name ilike $8
                           OR res_partner.ref ilike $9
                           OR res_partner.vat ilike $10)
                           -- don't panic, trust postgres bitmap
                     ORDER BY  res_partner.display_name ilike $11 desc,
                              res_partner.display_name
54 min 1% 313 ms 10,291 odoo
SELECT "mail_message".id FROM "mail_message" WHERE ((((("mail_message"."id" in (SELECT "mail_message_res_partner_needaction_rel"."mail_message_id" FROM "mail_message_res_partner_needaction_rel" WHERE ("mail_message_res_partner_needaction_rel"."notification_status" in ($1,$2)))) AND ("mail_message"."author_id" = $3)) AND ("mail_message"."res_id" != $4)) AND "mail_message"."model" IS NOT NULL) AND (("mail_message"."message_type" != $5) OR "mail_message"."message_type" IS NULL)) ORDER BY  "mail_message"."id" DESC  LIMIT $6
45 min 1% 53 ms 51,065 odoo
SELECT "res_partner".id FROM "res_partner" WHERE ("res_partner"."id" in ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$40,$41,$42,$43,$44,$45,$46,$47,$48,$49,$50,$51,$52,$53,$54,$55,$56,$57,$58,$59,$60,$61,$62,$63,$64,$65,$66,$67,$68,$69,$70,$71,$72,$73,$74,$75,$76,$77,$78,$79,$80,$81,$82,$83,$84,$85,$86,$87,$88,$89,$90,$91,$92,$93,$94,$95,$96,$97,$98,$99,$100,$101,$102,$103,$104,$105,$106,$107,$108,$109,$110,$111,$112,$113,$114,$115,$116,$117,$118,$119,$120,$121,$122,$123,$124,$125,$126,$127,$128,$129,$130,$131,$132,$133,$134,$135,$136,$137,$138,$139,$140,$141,$142,$143,$144,$145,$146,$147,$148,$149,$150,$151,$152,$153,$154,$155,$156,$157,$158,$159,$160,$161,$162,$163,$164,$165,$166,$167,$168,$169,$170,$171,$172,$173,$174,$175,$176,$177,$178,$179,$180,$181,$182,$183,$184,$185,$186,$187,$188,$189,$190,$191,$192,$193,$194,$195,$196,$197,$198,$199,$200,$201,$202,$203,$204,$205,$206,$207,$208,$209,$210,$211,$212,$213,$214,$215,$216,$217,$218,$219,$220,$221,$222,$223,$224,$225,$226,$227,$228,$229,$230,$231,$232,$233,$234,$235,$236,$237,$238,$239,$240,$241,$242,$243,$244,$245,$246,$247,$248,$249,$250,$251,$252,$253,$254,$255,$256,$257,$258,$259,$260,$261,$262,$263,$264,$265,$266,$267,$268,$269,$270,$271,$272,$273,$274,$275,$276,$277,$278,$279,$280,$281,$282,$283,$284,$285,$286,$287,$288,$289,$290,$291,$292,$293,$294,$295,$296,$297,$298,$299,$300,$301,$302,$303,$304,$305,$306,$307,$308,$309,$310,$311,$312,$313,$314,$315,$316,$317,$318,$319,$320,$321,$322,$323,$324,$325,$326,$327,$328,$329,$330,$331,$332,$333,$334,$335,$336,$337,$338,$339,$340,$341,$342,$343,$344,$345,$346,$347,$348,$349,$350,$351,$352,$353,$354,$355,$356,$357,$358,$359,$360,$361,$362,$363,$364,$365,$366,$367,$368,$369,$370,$371,$372,$373,$374,$375,$376,$377,$378,$379,$380,$381,$382,$383,$384,$385,$386,$387,$388,$389,$390,$391,$392,$393,$394,$395,$396,$397,$398,$399,$400,$401,$402,$403,$404,$405,$406,$407,$408,$409,$410,$411,$412,$413,$414,$415,$416,$417,$418,$419,$420,$421,$422,$423,$424,$425,$426,$427,$428,$429,$430,$431,$432,$433,$434,$435,$436,$437,$438,$439,$440,$441,$442,$443,$444,$445,$446,$447,$448,$449,$450,$451,$452,$453,$454,$455,$456,$457,$458,$459,$460,$461,$462,$463,$464,$465,$466,$467,$468,$469,$470,$471,$472,$473,$474,$475,$476,$477,$478,$479,$480,$481,$482,$483,$484,$485,$486,$487,$488,$489,$490,$491,$492,$493,$494,$495,$496,$497,$498,$499,$500,$501,$502,$503,$504,$505,$506,$507,$508,$509,$510,$511,$512,$513,$514,$515,$516,$517,$518,$519,$520,$521,$522,$523,$524,$525,$526,$527,$528,$529,$530,$531,$532,$533,$534,$535,$536,$537,$538,$539,$540,$541,$542,$543,$544,$545,$546,$547,$548,$549,$550,$551,$552,$553,$554,$555,$556,$557,$558,$559,$560,$561,$562,$563,$564,$565,$566,$567,$568,$569,$570,$571,$572,$573,$574,$575,$576,$577,$578,$579,$580,$581,$582,$583,$584,$585,$586,$587,$588,$589,$590,$591,$592,$593,$594,$595,$596,$597,$598,$599,$600,$601,$602,$603,$604,$605,$606,$607,$608,$609,$610,$611,$612,$613,$614,$615,$616,$617,$618,$619,$620,$621,$622,$623,$624,$625,$626,$627,$628,$629,$630,$631,$632,$633,$634,$635,$636,$637,$638,$639,$640,$641,$642,$643,$644,$645,$646,$647,$648,$649,$650,$651,$652,$653,$654,$655,$656,$657,$658,$659,$660,$661,$662,$663,$664,$665,$666,$667,$668,$669,$670,$671,$672,$673,$674,$675,$676,$677,$678,$679,$680,$681,$682,$683,$684,$685,$686,$687,$688,$689,$690,$691,$692,$693,$694,$695,$696,$697,$698,$699,$700,$701,$702,$703,$704,$705,$706,$707,$708,$709,$710,$711,$712,$713,$714,$715,$716,$717,$718,$719,$720,$721,$722,$723,$724,$725,$726,$727,$728,$729,$730,$731,$732,$733,$734,$735,$736,$737,$738,$739,$740,$741,$742,$743,$744,$745,$746,$747,$748,$749,$750,$751,$752,$753,$754,$755,$756,$757,$758,$759,$760,$761,$762,$763,$764,$765,$766,$767,$768,$769,$770,$771,$772,$773,$774,$775,$776,$777,$778,$779,$780,$781,$782,$783,$784,$785,$786,$787,$788,$789,$790,$791,$792,$793,$794,$795,$796,$797,$798,$799,$800,$801,$802,$803,$804,$805,$806,$807,$808,$809,$810,$811,$812,$813,$814,$815,$816,$817,$818,$819,$820,$821,$822,$823,$824,$825,$826,$827,$828,$829,$830,$831,$832,$833,$834,$835,$836,$837,$838,$839,$840,$841,$842,$843,$844,$845,$846,$847,$848,$849,$850,$851,$852,$853,$854,$855,$856,$857,$858,$859,$860,$861,$862,$863,$864,$865,$866,$867,$868,$869,$870,$871,$872,$873,$874,$875,$876,$877,$878,$879,$880,$881,$882,$883,$884,$885,$886,$887,$888,$889,$890,$891,$892,$893,$894,$895,$896,$897,$898,$899,$900,$901,$902,$903,$904,$905,$906,$907,$908,$909,$910,$911,$912,$913,$914,$915,$916,$917,$918,$919,$920,$921,$922,$923,$924,$925,$926,$927,$928,$929,$930,$931,$932,$933,$934,$935,$936,$937,$938,$939,$940,$941,$942,$943,$944,$945,$946,$947,$948,$949,$950,$951,$952,$953,$954,$955,$956,$957,$958,$959,$960,$961,$962,$963,$964,$965,$966,$967,$968,$969,$970,$971,$972,$973,$974,$975,$976,$977,$978,$979,$980,$981,$982,$983,$984,$985,$986,$987,$988,$989,$990,$991,$992,$993,$994,$995,$996,$997,$998,$999,$1000,$1001,$1002,$1003,$1004,$1005,$1006,$1007,$1008,$1009,$1010,$1011,$1012,$1013,$1014,$1015,$1016,$1017,$1018,$1019,$1020,$1021,$1022,$1023,$1024,$1025,$1026,$1027,$1028,$1029,$1030,$1031,$1032,$1033,$1034,$1035,$1036,$1037,$1038,$1039,$1040,$1041,$1042,$1043,$1044,$1045,$1046,$1047,$1048,$1049,$1050,$1051,$1052,$1053,$1054,$1055,$1056,$1057,$1058,$1059,$1060,$1061,$1062,$1063,$1064,$1065,$1066,$1067,$1068,$1069,$1070,$1071,$1072,$1073,$1074,$1075,$1076,$1077,$1078,$1079,$1080,$1081,$1082,$1083,$1084,$1085,$1086,$1087,$1088,$1089,$1090,$1091,$1092,$1093,$1094,$1095,$1096,$1097,$1098,$1099,$1100,$1101,$1102,$1103,$1104,$1105,$1106,$1107,$1108,$1109,$1110,$1111,$1112,$1113,$1114,$1115,$1116,$1117,$1118,$1119,$1120,$1121,$1122,$1123,$1124,$1125,$1126,$1127,$1128,$1129,$1130,$1131,$1132,$1133,$1134,$1135,$1136,$1137,$1138,$1139,$1140,$1141,$1142,$1143,$1144,$1145,$1146,$1147,$1148,$1149,$1150,$1151,$1152,$1153,$1154,$1155,$1156,$1157,$1158,$1159,$1160,$1161,$1162,$1163,$1164,$1165,$1166,$1167,$1168,$1169,$1170,$1171,$1172,$1173,$1174,$1175,$1176,$1177,$1178,$1179,$1180,$1181,$1182,$1183,$1184,$1185,$1186,$1187,$1188,$1189,$1190,$1191,$1192,$1193,$1194,$1195,$1196,$1197,$1198,$1199,$1200,$1201,$1202,$1203,$1204,$1205,$1206,$1207,$1208,$1209,$1210,$1211,$1212,$1213,$1214,$1215,$1216,$1217,$1218,$1219,$1220,$1221,$1222,$1223,$1224,$1225,$1226,$1227,$1228,$1229,$1230,$1231,$1232,$1233,$1234,$1235,$1236,$1237,$1238,$1239,$1240,$1241,$1242,$1243,$1244,$1245,$1246,$1247,$1248,$1249,$1250,$1251,$1252,$1253,$1254,$1255,$1256,$1257,$1258,$1259,$1260,$1261,$1262,$1263,$1264,$1265,$1266,$1267,$1268,$1269,$1270,$1271,$1272,$1273,$1274,$1275,$1276,$1277,$1278,$1279,$1280,$1281,$1282,$1283,$1284,$1285,$1286,$1287,$1288,$1289,$1290,$1291,$1292,$1293,$1294,$1295,$1296,$1297,$1298,$1299,$1300,$1301,$1302,$1303,$1304,$1305,$1306,$1307,$1308,$1309,$1310,$1311,$1312,$1313,$1314,$1315,$1316,$1317,$1318,$1319,$1320,$1321,$1322,$1323,$1324,$1325,$1326,$1327,$1328,$1329,$1330,$1331,$1332,$1333,$1334,$1335,$1336,$1337,$1338,$1339,$1340,$1341,$1342,$1343,$1344,$1345,$1346,$1347,$1348,$1349,$1350,$1351,$1352,$1353,$1354,$1355,$1356,$1357,$1358,$1359,$1360,$1361,$1362,$1363,$1364,$1365,$1366,$1367,$1368,$1369,$1370,$1371,$1372,$1373,$1374,$1375,$1376,$1377,$1378,$1379,$1380,$1381,$1382,$1383,$1384,$1385,$1386,$1387,$1388,$1389,$1390,$1391,$1392,$1393,$1394,$1395,$1396,$1397,$1398,$1399,$1400,$1401,$1402,$1403,$1404,$1405,$1406,$1407,$1408,$1409,$1410,$1411,$1412,$1413,$1414,$1415,$1416,$1417,$1418,$1419,$1420,$1421,$1422,$1423,$1424,$1425,$1426,$1427,$1428,$1429,$1430,$1431,$1432,$1433,$1434,$1435,$1436,$1437,$1438,$1439,$1440,$1441,$1442,$1443,$1444,$1445,$1446,$1447,$1448,$1449,$1450,$1451,$1452,$1453,$1454,$1455,$1456,$1457,$1458,$1459,$1460,$1461,$1462,$1463,$1464,$1465,$1466,$1467,$1468,$1469,$1470,$1471,$1472,$1473,$1474,$1475,$1476,$1477,$1478,$1479,$1480,$1481,$1482,$1483,$1484,$1485,$1486,$1487,$1488,$1489,$1490,$1491,$1492,$1493,$1494,$1495,$1496,$1497,$1498,$1499,$1500,$1501,$1502,$1503,$1504,$1505,$1506,$1507,$1508,$1509,$1510,$1511,$1512,$1513,$1514,$1515,$1516,$1517,$1518,$1519,$1520,$1521,$1522,$1523,$1524,$1525,$1526,$1527,$1528,$1529,$1530,$1531,$1532,$1533,$1534,$1535,$1536,$1537,$1538,$1539,$1540,$1541,$1542,$1543,$1544,$1545,$1546,$1547,$1548,$1549,$1550,$1551,$1552,$1553,$1554,$1555,$1556,$1557,$1558,$1559,$1560,$1561,$1562,$1563,$1564,$1565,$1566,$1567,$1568,$1569,$1570,$1571,$1572,$1573,$1574,$1575,$1576,$1577,$1578,$1579,$1580,$1581,$1582,$1583,$1584,$1585,$1586,$1587,$1588,$1589,$1590,$1591,$1592,$1593,$1594,$1595,$1596,$1597,$1598,$1599,$1600,$1601,$1602,$1603,$1604,$1605,$1606,$1607,$1608,$1609,$1610,$1611,$1612,$1613,$1614,$1615,$1616,$1617,$1618,$1619,$1620,$1621,$1622,$1623,$1624,$1625,$1626,$1627,$1628,$1629,$1630,$1631,$1632,$1633,$1634,$1635,$1636,$1637,$1638,$1639,$1640,$1641,$1642,$1643,$1644,$1645,$1646,$1647,$1648,$1649,$1650,$1651,$1652,$1653,$1654,$1655,$1656,$1657,$1658,$1659,$1660,$1661,$1662,$1663,$1664,$1665,$1666,$1667,$1668,$1669,$1670,$1671,$1672,$1673,$1674,$1675,$1676,$1677,$1678,$1679,$1680,$1681,$1682,$1683,$1684,$1685,$1686,$1687,$1688,$1689,$1690,$1691,$1692,$1693,$1694,$1695,$1696,$1697,$1698,$1699,$1700,$1701,$1702,$1703,$1704,$1705,$1706,$1707,$1708,$1709,$1710,$1711,$1712,$1713,$1714,$1715,$1716,$1717,$1718,$1719,$1720,$1721,$1722,$1723,$1724,$1725,$1726,$1727,$1728,$1729,$1730,$1731,$1732,$1733,$1734,$1735,$1736,$1737,$1738,$1739,$1740,$1741,$1742,$1743,$1744,$1745,$1746,$1747,$1748,$1749,$1750,$1751,$1752,$1753,$1754,$1755,$1756,$1757,$1758,$1759,$1760,$1761,$1762,$1763,$1764,$1765,$1766,$1767,$1768,$1769,$1770,$1771,$1772,$1773,$1774,$1775,$1776,$1777,$1778,$1779,$1780,$1781,$1782,$1783,$1784,$1785,$1786,$1787,$1788,$1789,$1790,$1791,$1792,$1793,$1794,$1795,$1796,$1797,$1798,$1799,$1800,$1801,$1802,$1803,$1804,$1805,$1806,$1807,$1808,$1809,$1810,$1811,$1812,$1813,$1814,$1815,$1816,$1817,$1818,$1819,$1820,$1821,$1822,$1823,$1824,$1825,$1826,$1827,$1828,$1829,$1830,$1831,$1832,$1833,$1834,$1835,$1836,$1837,$1838,$1839,
40 min 1% 128 ms 18,931 odoo
SELECT min("account_analytic_line".id) AS id, count("account_analytic_line".id) AS "timesheet_invoice_id_count" , "account_analytic_line"."timesheet_invoice_id" as "timesheet_invoice_id" 
            FROM "account_analytic_line" LEFT JOIN "account_move" AS "account_analytic_line__timesheet_invoice_id" ON ("account_analytic_line"."timesheet_invoice_id" = "account_analytic_line__timesheet_invoice_id"."id")
            WHERE ("account_analytic_line"."timesheet_invoice_id" in ($1)) AND (("account_analytic_line"."company_id" IS NULL  OR ("account_analytic_line"."company_id" in ($2))) AND "account_analytic_line"."project_id" IS NULL )
            GROUP BY "account_analytic_line"."timesheet_invoice_id","account_analytic_line__timesheet_invoice_id"."date","account_analytic_line__timesheet_invoice_id"."name","account_analytic_line__timesheet_invoice_id"."id"
            ORDER BY  "account_analytic_line__timesheet_invoice_id"."date" DESC,"account_analytic_line__timesheet_invoice_id"."name" DESC,"account_analytic_line__timesheet_invoice_id"."id" DESC
38 min 1% 252 ms 9,123 odoo
SELECT res_groups_users_rel.gid, res_groups_users_rel.uid FROM res_groups_users_rel, "res_users" LEFT JOIN "res_partner" AS "res_users__partner_id" ON ("res_users"."partner_id" = "res_users__partner_id"."id")
                    WHERE (("res_users"."share" IS NULL or "res_users"."share" = $1 ) OR 
                        EXISTS (
                            SELECT $2 FROM "res_company_users_rel" AS "res_users__company_ids"
                            WHERE "res_users__company_ids"."user_id" = "res_users".id
                            AND "res_users__company_ids"."cid" IN ($3)
                        )
                    ) AND (((("res_users__partner_id"."partner_share" IS NULL or "res_users__partner_id"."partner_share" = $4 ) OR ("res_users__partner_id"."company_id" in ($5))) OR "res_users__partner_id"."company_id" IS NULL ) AND (((("res_users__partner_id"."type" != $6) OR "res_users__partner_id"."type" IS NULL) OR "res_users__partner_id"."type" IS NULL ) OR (("res_users__partner_id"."type" = $7) AND ("res_users__partner_id"."create_uid" = $8)))) AND res_groups_users_rel.gid IN ($9) AND res_groups_users_rel.uid = res_users.id
                     ORDER BY "res_users__partner_id"."name" ,"res_users"."login"    OFFSET $10
30 min 0.8% 50 ms 36,030 odoo
SELECT "product_product".id FROM "product_product" LEFT JOIN "product_template" AS "product_product__product_tmpl_id" ON ("product_product"."product_tmpl_id" = "product_product__product_tmpl_id"."id") LEFT JOIN "ir_translation" AS "product_product__product_tmpl_id__name" ON ("product_product__product_tmpl_id"."id" = "product_product__product_tmpl_id__name"."res_id" AND "product_product__product_tmpl_id__name"."type" = $1 AND "product_product__product_tmpl_id__name"."name" = $2 AND "product_product__product_tmpl_id__name"."lang" = $3 AND "product_product__product_tmpl_id__name"."value" != $4) WHERE (((("product_product"."active" = $5) AND ("product_product__product_tmpl_id"."purchase_ok" = $6)) AND COALESCE("product_product__product_tmpl_id__name"."value", "product_product__product_tmpl_id"."name") ilike $7) AND ($8 OR "product_product"."id" IS NULL)) AND (("product_product__product_tmpl_id"."company_id" in ($9)) OR "product_product__product_tmpl_id"."company_id" IS NULL ) ORDER BY  "product_product"."default_code" ,COALESCE("product_product__product_tmpl_id__name"."value", "product_product__product_tmpl_id"."name") ,"product_product"."id"   LIMIT $10
18 min 0.5% 112 ms 9,556 odoo
SELECT "account_analytic_line".id FROM "account_analytic_line" WHERE ((("account_analytic_line"."so_line" in ($1,$2)) AND ("account_analytic_line"."amount" <= $3)) AND "account_analytic_line"."project_id" IS NOT NULL) AND ("account_analytic_line"."company_id" IS NULL  OR ("account_analytic_line"."company_id" in ($4))) ORDER BY  "account_analytic_line"."date" DESC,"account_analytic_line"."id" DESC
15 min 0.4% 122 ms 7,394 odoo
SELECT "account_analytic_line".id FROM "account_analytic_line" WHERE ("account_analytic_line"."timesheet_invoice_id" in ($1)) ORDER BY  "account_analytic_line"."date" DESC,"account_analytic_line"."id" DESC
Details
CREATE INDEX CONCURRENTLY ON account_analytic_line (timesheet_invoice_id)
Rows: 848454
Row progression: 848454, 0

Row estimates
- timesheet_invoice_id (=): 0
- date (sort): 1512

Existing indexes
- id PRIMARY
- account_id
- date
- move_id
- task_id
14 min 0.4% 160 ms 5,402 odoo
SELECT "account_move_line".id FROM "account_move_line" LEFT JOIN "account_move" AS "account_move_line__move_id" ON ("account_move_line"."move_id" = "account_move_line__move_id"."id") LEFT JOIN "account_account_type" AS "account_move_line__user_type_id" ON ("account_move_line"."user_type_id" = "account_move_line__user_type_id"."id") WHERE ((("account_move_line"."reconciled" IS NULL or "account_move_line"."reconciled" = $1 ) AND (("account_move_line"."account_id" in (SELECT "account_account".id FROM "account_account" WHERE ("account_account"."user_type_id" in (SELECT "account_account_type".id FROM "account_account_type" WHERE ("account_account_type"."type" = $2))) AND ("account_account"."company_id" IS NULL  OR ("account_account"."company_id" in ($3))))) AND (("account_move_line__move_id"."state" != $4) OR "account_move_line__move_id"."state" IS NULL))) AND ("account_move_line"."partner_id" in ($5))) AND (("account_move_line"."company_id" IS NULL  OR ("account_move_line"."company_id" in ($6))) AND ((("account_move_line__move_id"."move_type" in ($7,$8,$9,$10,$11)) AND (("account_move_line__move_id"."invoice_user_id" = $12) OR "account_move_line__move_id"."invoice_user_id" IS NULL )) OR (("account_move_line__move_id"."move_type" in ($13,$14,$15,$16,$17)) AND ((("account_move_line"."team_id" in (SELECT "crm_team".id FROM "crm_team" WHERE ("crm_team"."id" IN (SELECT "sale_team_id" FROM "res_users" WHERE "id" IN ($18) AND "sale_team_id" IS NOT NULL)))) OR ("account_move_line"."team_id" in (SELECT "crm_team".id FROM "crm_team" WHERE ("crm_team"."id" not in (SELECT "sale_team_id" FROM "res_users" WHERE "sale_team_id" IS NOT NULL))))) OR ("account_move_line"."team_id" in ($19)))))) ORDER BY  "account_move_line__user_type_id"."sequence" ,"account_move_line"."date" DESC,"account_move_line"."move_name" DESC,"account_move_line"."id"
14 min 0.4% 114 ms 7,499 odoo
SELECT "account_analytic_line".id FROM "account_analytic_line" WHERE ((("account_analytic_line"."so_line" in ($1)) AND ("account_analytic_line"."amount" <= $2)) AND "account_analytic_line"."project_id" IS NOT NULL) AND ("account_analytic_line"."company_id" IS NULL  OR ("account_analytic_line"."company_id" in ($3))) ORDER BY  "account_analytic_line"."date" DESC,"account_analytic_line"."id" DESC
13 min 0.4% 60 ms 13,108 odoo
SELECT min("account_move".id) AS id, count("account_move".id) AS "debit_origin_id_count" , "account_move"."debit_origin_id" as "debit_origin_id" 
            FROM "account_move" LEFT JOIN "account_move" AS "account_move__debit_origin_id" ON ("account_move"."debit_origin_id" = "account_move__debit_origin_id"."id")
            WHERE ("account_move"."debit_origin_id" in ($1)) AND (("account_move"."company_id" IS NULL  OR ("account_move"."company_id" in ($2))) AND (("account_move"."company_id" IS NULL  OR ("account_move"."company_id" in ($3))) OR ("account_move"."move_type" in ($4,$5,$6))))
            GROUP BY "account_move"."debit_origin_id","account_move__debit_origin_id"."date","account_move__debit_origin_id"."name","account_move__debit_origin_id"."id"
            ORDER BY  "account_move__debit_origin_id"."date" DESC,"account_move__debit_origin_id"."name" DESC,"account_move__debit_origin_id"."id" DESC
13 min 0.3% 25 ms 30,500 odoo
SELECT "purchase_requisition_line".id FROM "purchase_requisition_line" WHERE ("purchase_requisition_line"."requisition_id" in ($1)) AND ("purchase_requisition_line"."company_id" IS NULL  OR ("purchase_requisition_line"."company_id" in ($2))) ORDER BY  "purchase_requisition_line"."id"
12 min 0.3% 57 ms 13,108 odoo
SELECT "account_move".id FROM "account_move" WHERE ("account_move"."prepayment_invoice_id" in ($1)) AND (("account_move"."company_id" IS NULL  OR ("account_move"."company_id" in ($2))) AND (("account_move"."company_id" IS NULL  OR ("account_move"."company_id" in ($3))) OR ("account_move"."move_type" in ($4,$5,$6)))) ORDER BY  "account_move"."date" DESC,"account_move"."name" DESC,"account_move"."id" DESC
10 min 0.3% 47 ms 12,768 odoo
SELECT mail_channel_partner.channel_id, mail_channel_partner.partner_id FROM mail_channel_partner, "res_partner"
                    WHERE $1=$2 AND mail_channel_partner.channel_id IN ($3) AND mail_channel_partner.partner_id = res_partner.id
                     ORDER BY "res_partner"."display_name"    OFFSET $4
7 min 0.2% 64 ms 6,788 odoo
SELECT "account_move_line".id FROM "account_move_line" LEFT JOIN "account_move" AS "account_move_line__move_id" ON ("account_move_line"."move_id" = "account_move_line__move_id"."id") LEFT JOIN "account_account_type" AS "account_move_line__user_type_id" ON ("account_move_line"."user_type_id" = "account_move_line__user_type_id"."id") WHERE ((("account_move_line"."reconciled" IS NULL or "account_move_line"."reconciled" = $1 ) AND (("account_move_line"."account_id" in (SELECT "account_account".id FROM "account_account" WHERE ("account_account"."user_type_id" in (SELECT "account_account_type".id FROM "account_account_type" WHERE ("account_account_type"."type" = $2))) AND ("account_account"."company_id" IS NULL  OR ("account_account"."company_id" in ($3))))) AND (("account_move_line__move_id"."state" != $4) OR "account_move_line__move_id"."state" IS NULL))) AND ("account_move_line"."partner_id" in ($5))) AND (("account_move_line"."company_id" IS NULL  OR ("account_move_line"."company_id" in ($6))) AND ((("account_move_line__move_id"."move_type" in ($7,$8,$9,$10,$11)) AND (("account_move_line__move_id"."invoice_user_id" = $12) OR "account_move_line__move_id"."invoice_user_id" IS NULL )) OR (("account_move_line__move_id"."move_type" in ($13,$14,$15,$16,$17)) AND ((("account_move_line"."team_id" in (SELECT "crm_team".id FROM "crm_team" WHERE ("crm_team"."id" IN (SELECT "sale_team_id" FROM "res_users" WHERE "id" IN ($18) AND "sale_team_id" IS NOT NULL)))) OR ("account_move_line"."team_id" in (SELECT "crm_team".id FROM "crm_team" WHERE ("crm_team"."id" not in (SELECT "sale_team_id" FROM "res_users" WHERE "sale_team_id" IS NOT NULL))))) OR ("account_move_line"."team_id" in ($19,$20)))))) ORDER BY  "account_move_line__user_type_id"."sequence" ,"account_move_line"."date" DESC,"account_move_line"."move_name" DESC,"account_move_line"."id"
7 min 0.2% 65 ms 6,010 odoo
SELECT res_partner.id
                         FROM "res_partner"
                       WHERE ("res_partner"."active" = $1) AND (((("res_partner"."partner_share" IS NULL or "res_partner"."partner_share" = $2 ) OR ("res_partner"."company_id" in ($3))) OR "res_partner"."company_id" IS NULL ) AND (((("res_partner"."type" != $4) OR "res_partner"."type" IS NULL) OR "res_partner"."type" IS NULL ) OR (("res_partner"."type" = $5) AND ("res_partner"."create_uid" = $6)))) AND  (res_partner.email ilike $7
                           OR res_partner.display_name ilike $8
                           OR res_partner.ref ilike $9
                           OR res_partner.vat ilike $10)
                           -- don't panic, trust postgres bitmap
                     ORDER BY COALESCE(res_partner.supplier_rank, $11) DESC, res_partner.display_name ilike $12 desc,
                              res_partner.display_name
                     limit $13
6 min 0.2% 39 ms 9,102 odoo
SELECT "account_analytic_account".id FROM "account_analytic_account" WHERE (("account_analytic_account"."active" = $1) AND ((("account_analytic_account"."code"::text ilike $2) OR ("account_analytic_account"."name"::text ilike $3)) OR ("account_analytic_account"."partner_id" in (SELECT "res_partner".id FROM "res_partner" WHERE (("res_partner"."active" = $4) AND ("res_partner"."name"::text ilike $5)) AND (((("res_partner"."partner_share" IS NULL or "res_partner"."partner_share" = $6 ) OR ("res_partner"."company_id" in ($7))) OR "res_partner"."company_id" IS NULL ) AND (((("res_partner"."type" != $8) OR "res_partner"."type" IS NULL) OR "res_partner"."type" IS NULL ) OR (("res_partner"."type" = $9) AND ("res_partner"."create_uid" = $10)))) ORDER BY  "res_partner"."display_name"   LIMIT $11)))) AND ("account_analytic_account"."company_id" IS NULL  OR ("account_analytic_account"."company_id" in ($12))) ORDER BY  "account_analytic_account"."code" ,"account_analytic_account"."name" ASC  LIMIT $13
5 min 0.1% 22 ms 14,061 odoo
SELECT "hr_employee".id FROM "hr_employee" WHERE ((("hr_employee"."active" = $1) AND "hr_employee"."contract_id" IS NOT NULL) AND (("hr_employee"."allocation_month" != $2) OR "hr_employee"."allocation_month" IS NULL)) AND ("hr_employee"."company_id" IS NULL  OR ("hr_employee"."company_id" in ($3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21))) ORDER BY  "hr_employee"."code"   LIMIT $22
5 min 0.1% 104 ms 2,799 odoo
SELECT res_partner.id
                         FROM "res_partner"
                       WHERE (((("res_partner"."partner_share" IS NULL or "res_partner"."partner_share" = $1 ) OR ("res_partner"."company_id" in ($2))) OR "res_partner"."company_id" IS NULL ) AND (((("res_partner"."type" != $3) OR "res_partner"."type" IS NULL) OR "res_partner"."type" IS NULL ) OR (("res_partner"."type" = $4) AND ("res_partner"."create_uid" = $5)))) AND  (res_partner.email ilike $6
                           OR res_partner.display_name ilike $7
                           OR res_partner.ref ilike $8
                           OR res_partner.vat ilike $9)
                           -- don't panic, trust postgres bitmap
                     ORDER BY  res_partner.display_name ilike $10 desc,
                              res_partner.display_name
5 min 0.1% 69 ms 4,048 odoo
SELECT res_partner.id
                         FROM "res_partner"
                       WHERE ("res_partner"."active" = $1) AND (((("res_partner"."partner_share" IS NULL or "res_partner"."partner_share" = $2 ) OR ("res_partner"."company_id" in ($3))) OR "res_partner"."company_id" IS NULL ) AND (((("res_partner"."type" != $4) OR "res_partner"."type" IS NULL) OR "res_partner"."type" IS NULL ) OR (("res_partner"."type" = $5) AND ("res_partner"."create_uid" = $6)))) AND  (res_partner.email ilike $7
                           OR res_partner.display_name ilike $8
                           OR res_partner.ref ilike $9
                           OR res_partner.vat ilike $10)
                           -- don't panic, trust postgres bitmap
                     ORDER BY  res_partner.display_name ilike $11 desc,
                              res_partner.display_name
                     limit $12
5 min 0.1% 63 ms 4,400 odoo
SELECT res_partner.id
                         FROM "res_partner"
                       WHERE (("res_partner"."active" = $1) AND "res_partner"."parent_id" IS NULL ) AND (((("res_partner"."partner_share" IS NULL or "res_partner"."partner_share" = $2 ) OR ("res_partner"."company_id" in ($3))) OR "res_partner"."company_id" IS NULL ) AND (((("res_partner"."type" != $4) OR "res_partner"."type" IS NULL) OR "res_partner"."type" IS NULL ) OR (("res_partner"."type" = $5) AND ("res_partner"."create_uid" = $6)))) AND  (res_partner.email ilike $7
                           OR res_partner.display_name ilike $8
                           OR res_partner.ref ilike $9
                           OR res_partner.vat ilike $10)
                           -- don't panic, trust postgres bitmap
                     ORDER BY COALESCE(res_partner.customer_rank, $11) DESC, res_partner.display_name ilike $12 desc,
                              res_partner.display_name
                     limit $13
3 min < 0.1% 45 ms 4,603 odoo
SELECT res_partner.id
                         FROM "res_partner"
                       WHERE (("res_partner"."active" = $1) AND (("res_partner"."company_id" IS NULL  OR ("res_partner"."company_id" = $2)) AND ("res_partner"."employee" IS NULL or "res_partner"."employee" = $3 ))) AND (((("res_partner"."partner_share" IS NULL or "res_partner"."partner_share" = $4 ) OR ("res_partner"."company_id" in ($5))) OR "res_partner"."company_id" IS NULL ) AND (((("res_partner"."type" != $6) OR "res_partner"."type" IS NULL) OR "res_partner"."type" IS NULL ) OR (("res_partner"."type" = $7) AND ("res_partner"."create_uid" = $8)))) AND  (res_partner.email ilike $9
                           OR res_partner.display_name ilike $10
                           OR res_partner.ref ilike $11
                           OR res_partner.vat ilike $12)
                           -- don't panic, trust postgres bitmap
                     ORDER BY COALESCE(res_partner.supplier_rank, $13) DESC, res_partner.display_name ilike $14 desc,
                              res_partner.display_name
                     limit $15
3 min < 0.1% 39 ms 5,043 odoo
SELECT "account_analytic_account".id FROM "account_analytic_account" WHERE (("account_analytic_account"."active" = $1) AND (((("account_analytic_account"."code"::text ilike $2) OR ("account_analytic_account"."name"::text ilike $3)) OR ("account_analytic_account"."partner_id" in (SELECT "res_partner".id FROM "res_partner" WHERE (("res_partner"."active" = $4) AND ("res_partner"."name"::text ilike $5)) AND (((("res_partner"."partner_share" IS NULL or "res_partner"."partner_share" = $6 ) OR ("res_partner"."company_id" in ($7))) OR "res_partner"."company_id" IS NULL ) AND (((("res_partner"."type" != $8) OR "res_partner"."type" IS NULL) OR "res_partner"."type" IS NULL ) OR (("res_partner"."type" = $9) AND ("res_partner"."create_uid" = $10)))) ORDER BY  "res_partner"."display_name"   LIMIT $11))) AND (("account_analytic_account"."company_id" = $12) OR "account_analytic_account"."company_id" IS NULL ))) AND ("account_analytic_account"."company_id" IS NULL  OR ("account_analytic_account"."company_id" in ($13))) ORDER BY  "account_analytic_account"."code" ,"account_analytic_account"."name" ASC  LIMIT $14
3 min < 0.1% 635 ms 290 odoo
SELECT "account_move".id FROM "account_move" WHERE (("account_move"."name"::text not ilike $1) OR "account_move"."name" IS NULL) AND (("account_move"."company_id" IS NULL  OR ("account_move"."company_id" in ($2))) AND (("account_move"."company_id" IS NULL  OR ("account_move"."company_id" in ($3))) OR ("account_move"."move_type" in ($4,$5,$6)))) ORDER BY  "account_move"."date" DESC,"account_move"."name" DESC,"account_move"."id" DESC
3 min < 0.1% 21 ms 7,958 odoo
SELECT "sale_order".id FROM "sale_order" WHERE ("sale_order"."analytic_account_id" in ($1)) ORDER BY  "sale_order"."id"
Details
CREATE INDEX CONCURRENTLY ON sale_order (analytic_account_id)
Rows: 56712
Row progression: 56712, 11

Row estimates
- analytic_account_id (=): 11
- id (sort): 1

Existing indexes
- id PRIMARY
- company_id
- create_date
- date_order
- message_main_attachment_id
- name
- partner_id
- state
- user_id
3 min < 0.1% 25 ms 6,334 odoo
SELECT "purchase_requisition_line".id FROM "purchase_requisition_line" WHERE ("purchase_requisition_line"."requisition_id" in ($1)) ORDER BY  "purchase_requisition_line"."id"
Details
CREATE INDEX CONCURRENTLY ON purchase_requisition_line (requisition_id)
Rows: 131722
Row progression: 131722, 9

Row estimates
- requisition_id (=): 9
- id (sort): 1

Existing indexes
- id PRIMARY
3 min < 0.1% 57 ms 2,797 odoo
SELECT min("hr_employee".id) AS id, count("hr_employee".id) AS "department_id_count" , "hr_employee"."department_id" as "department_id" 
            FROM "hr_employee" LEFT JOIN "hr_department" AS "hr_employee__department_id" ON ("hr_employee"."department_id" = "hr_employee__department_id"."id")
            WHERE (("hr_employee"."active" = $1) AND ((((("hr_employee"."user_id" = $2) OR ("hr_employee"."parent_id" in (SELECT "hr_employee".id FROM "hr_employee" WHERE ("hr_employee"."user_id" = $3) AND ("hr_employee"."company_id" IS NULL  OR ("hr_employee"."company_id" in ($4)))))) OR ("hr_employee"."parent_id" in (SELECT "hr_employee".id FROM "hr_employee" WHERE ("hr_employee"."parent_id" in (SELECT "hr_employee".id FROM "hr_employee" WHERE ("hr_employee"."user_id" = $5) AND ("hr_employee"."company_id" IS NULL  OR ("hr_employee"."company_id" in ($6))))) AND ("hr_employee"."company_id" IS NULL  OR ("hr_employee"."company_id" in ($7)))))) OR ("hr_employee"."parent_id" in (SELECT "hr_employee".id FROM "hr_employee" WHERE ("hr_employee"."parent_id" in (SELECT "hr_employee".id FROM "hr_employee" WHERE ("hr_employee"."parent_id" in (SELECT "hr_employee".id FROM "hr_employee" WHERE ("hr_employee"."user_id" = $8) AND ("hr_employee"."company_id" IS NULL  OR ("hr_employee"."company_id" in ($9))))) AND ("hr_employee"."company_id" IS NULL  OR ("hr_employee"."company_id" in ($10))))) AND ("hr_employee"."company_id" IS NULL  OR ("hr_employee"."company_id" in ($11)))))) AND "hr_employee"."department_id" IS NOT NULL)) AND ("hr_employee"."company_id" IS NULL  OR ("hr_employee"."company_id" in ($12)))
            GROUP BY "hr_employee"."department_id","hr_employee__department_id"."name"
            ORDER BY  "hr_employee__department_id"."name"
3 min < 0.1% 52 ms 3,046 odoo
SELECT min("hr_leave".id) AS id, count("hr_leave".id) AS "state_count" , "hr_leave"."state" as "state" 
            FROM "hr_leave"
            WHERE "hr_leave"."state" IS NOT NULL AND (("hr_leave"."holiday_status_id" in (SELECT "hr_leave_type".id FROM "hr_leave_type" WHERE "hr_leave_type"."company_id" IS NULL )) OR ("hr_leave"."holiday_status_id" in (SELECT "hr_leave_type".id FROM "hr_leave_type" WHERE ("hr_leave_type"."company_id" in ($1)))))
            GROUP BY "hr_leave"."state"
            ORDER BY "state"
3 min < 0.1% 40 ms 3,861 odoo
SELECT count($1) FROM "sale_order" WHERE (("sale_order"."state" not in ($2,$3,$4)) OR "sale_order"."state" IS NULL) AND (("sale_order"."company_id" in ($5)) AND ((("sale_order"."user_id" = $6) OR "sale_order"."user_id" IS NULL ) OR ((("sale_order"."team_id" in (SELECT "crm_team".id FROM "crm_team" WHERE ("crm_team"."id" IN (SELECT "sale_team_id" FROM "res_users" WHERE "id" IN ($7) AND "sale_team_id" IS NOT NULL)))) OR ("sale_order"."team_id" in (SELECT "crm_team".id FROM "crm_team" WHERE ("crm_team"."id" not in (SELECT "sale_team_id" FROM "res_users" WHERE "sale_team_id" IS NOT NULL))))) OR ("sale_order"."team_id" in ($8,$9)))))
2 min < 0.1% 38 ms 3,800 odoo
SELECT count($1) FROM "sale_order" WHERE (("sale_order"."state" not in ($2,$3,$4)) OR "sale_order"."state" IS NULL) AND (("sale_order"."company_id" in ($5)) AND ((("sale_order"."user_id" = $6) OR "sale_order"."user_id" IS NULL ) OR ((("sale_order"."team_id" in (SELECT "crm_team".id FROM "crm_team" WHERE ("crm_team"."id" IN (SELECT "sale_team_id" FROM "res_users" WHERE "id" IN ($7) AND "sale_team_id" IS NOT NULL)))) OR ("sale_order"."team_id" in (SELECT "crm_team".id FROM "crm_team" WHERE ("crm_team"."id" not in (SELECT "sale_team_id" FROM "res_users" WHERE "sale_team_id" IS NOT NULL))))) OR ("sale_order"."team_id" in ($8)))))
2 min < 0.1% 34 ms 4,162 odoo
SELECT "hr_employee".id FROM "hr_employee" WHERE (("hr_employee"."active" = $1) AND (((("hr_employee"."code"::text ilike $2) OR ("hr_employee"."work_email"::text ilike $3)) OR ("hr_employee"."name"::text ilike $4)) OR ("hr_employee"."identification_id"::text ilike $5))) AND ("hr_employee"."company_id" IS NULL  OR ("hr_employee"."company_id" in ($6))) ORDER BY  "hr_employee"."code"   LIMIT $7
2 min < 0.1% 49 ms 2,820 odoo
SELECT "hr_employee".id FROM "hr_employee" WHERE (("hr_employee"."active" = $1) AND (((("hr_employee"."user_id" = $2) OR ("hr_employee"."parent_id" in (SELECT "hr_employee".id FROM "hr_employee" WHERE ("hr_employee"."user_id" = $3) AND ("hr_employee"."company_id" IS NULL  OR ("hr_employee"."company_id" in ($4)))))) OR ("hr_employee"."parent_id" in (SELECT "hr_employee".id FROM "hr_employee" WHERE ("hr_employee"."parent_id" in (SELECT "hr_employee".id FROM "hr_employee" WHERE ("hr_employee"."user_id" = $5) AND ("hr_employee"."company_id" IS NULL  OR ("hr_employee"."company_id" in ($6))))) AND ("hr_employee"."company_id" IS NULL  OR ("hr_employee"."company_id" in ($7)))))) OR ("hr_employee"."parent_id" in (SELECT "hr_employee".id FROM "hr_employee" WHERE ("hr_employee"."parent_id" in (SELECT "hr_employee".id FROM "hr_employee" WHERE ("hr_employee"."parent_id" in (SELECT "hr_employee".id FROM "hr_employee" WHERE ("hr_employee"."user_id" = $8) AND ("hr_employee"."company_id" IS NULL  OR ("hr_employee"."company_id" in ($9))))) AND ("hr_employee"."company_id" IS NULL  OR ("hr_employee"."company_id" in ($10))))) AND ("hr_employee"."company_id" IS NULL  OR ("hr_employee"."company_id" in ($11))))))) AND ("hr_employee"."company_id" IS NULL  OR ("hr_employee"."company_id" in ($12))) ORDER BY  "hr_employee"."code"   LIMIT $13
2 min < 0.1% 103 ms 1,167 odoo
SELECT res_partner.id
                         FROM "res_partner"
                       WHERE (((("res_partner"."partner_share" IS NULL or "res_partner"."partner_share" = $1 ) OR ("res_partner"."company_id" in ($2,$3))) OR "res_partner"."company_id" IS NULL ) AND (((("res_partner"."type" != $4) OR "res_partner"."type" IS NULL) OR "res_partner"."type" IS NULL ) OR (("res_partner"."type" = $5) AND ("res_partner"."create_uid" = $6)))) AND  (res_partner.email ilike $7
                           OR res_partner.display_name ilike $8
                           OR res_partner.ref ilike $9
                           OR res_partner.vat ilike $10)
                           -- don't panic, trust postgres bitmap
                     ORDER BY  res_partner.display_name ilike $11 desc,
                              res_partner.display_name
2 min < 0.1% 104 ms 1,124 odoo
SELECT res_partner.id
                         FROM "res_partner"
                       WHERE (((("res_partner"."partner_share" IS NULL or "res_partner"."partner_share" = $1 ) OR ("res_partner"."company_id" in ($2))) OR "res_partner"."company_id" IS NULL ) AND (((("res_partner"."type" != $3) OR "res_partner"."type" IS NULL) OR "res_partner"."type" IS NULL ) OR (("res_partner"."type" = $4) AND ("res_partner"."create_uid" = $5)))) AND  (res_partner.email ilike $6
                           OR res_partner.display_name ilike $7
                           OR res_partner.ref ilike $8
                           OR res_partner.vat ilike $9)
                           -- don't panic, trust postgres bitmap
                     ORDER BY COALESCE(res_partner.customer_rank, $10) DESC, res_partner.display_name ilike $11 desc,
                              res_partner.display_name
2 min < 0.1% 37 ms 2,928 odoo
SELECT min("hr_employee".id) AS id, count("hr_employee".id) AS "department_id_count" , "hr_employee"."department_id" as "department_id" 
            FROM "hr_employee" LEFT JOIN "hr_department" AS "hr_employee__department_id" ON ("hr_employee"."department_id" = "hr_employee__department_id"."id")
            WHERE (("hr_employee"."active" = $1) AND ((((("hr_employee"."code"::text ilike $2) OR ("hr_employee"."work_email"::text ilike $3)) OR ("hr_employee"."name"::text ilike $4)) OR ("hr_employee"."identification_id"::text ilike $5)) AND "hr_employee"."department_id" IS NOT NULL)) AND ("hr_employee"."company_id" IS NULL  OR ("hr_employee"."company_id" in ($6)))
            GROUP BY "hr_employee"."department_id","hr_employee__department_id"."name"
            ORDER BY  "hr_employee__department_id"."name"
2 min < 0.1% 29 ms 3,416 odoo
SELECT count($1) FROM "hr_leave" WHERE (("hr_leave"."holiday_status_id" in (SELECT "hr_leave_type".id FROM "hr_leave_type" WHERE "hr_leave_type"."company_id" IS NULL )) OR ("hr_leave"."holiday_status_id" in (SELECT "hr_leave_type".id FROM "hr_leave_type" WHERE ("hr_leave_type"."company_id" in ($2)))))