Mercurial > hg > orthanc-databases
annotate TODO @ 586:3b1070dcab2f find-refactoring
fix
author | Alain Mazy <am@orthanc.team> |
---|---|
date | Mon, 04 Nov 2024 22:52:58 +0100 |
parents | 8296c6a0238e |
children |
rev | line source |
---|---|
196 | 1 |
2 ============================== | |
3 == Orthanc database plugins == | |
4 ============================== | |
5 | |
6 ----------------------- | |
7 Common - Database index | |
8 ----------------------- | |
9 | |
258 | 10 * Performance of joins in LookupResources: Create cached statement for |
11 LookupResources, that are grouped to search up to, say, 10 tags, | |
12 instead of recompiling for each request | |
371 | 13 * Do not log "DatabaseCannotSerialize" errors in the plugin but only |
14 in Orthanc after all retries have been made. | |
424
95c413106a66
Introduced a procedure to delete resources (to be tested)
Alain Mazy <am@osimis.io>
parents:
371
diff
changeset
|
15 * Try to avoid the use of temporary tables: |
95c413106a66
Introduced a procedure to delete resources (to be tested)
Alain Mazy <am@osimis.io>
parents:
371
diff
changeset
|
16 https://discourse.orthanc-server.org/t/image-insert-are-too-slow-databse-performance-too-poor/3820 |
95c413106a66
Introduced a procedure to delete resources (to be tested)
Alain Mazy <am@osimis.io>
parents:
371
diff
changeset
|
17 |
196 | 18 |
502 | 19 * Implement "large queries" for: |
20 - updating all metadata of a resource at once | |
21 - update all maindicomtags of 4 resource levels at once | |
22 | |
23 | |
196 | 24 --------------------- |
25 Common - Storage area | |
26 --------------------- | |
27 | |
28 * Implement the "StoreDicom" option from the default filesystem | |
29 storage area to run MySQL/PostgreSQL storage in index-only mode: | |
426
d700c8f9fc24
migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
371
diff
changeset
|
30 https://orthanc.uclouvain.be/book/contributing.html |
196 | 31 |
259 | 32 * Performance: Add a pool of connections to PostgreSQL/MySQL, as |
33 already done in the database index plugins | |
34 | |
360 | 35 ---------- |
36 PostgreSQL | |
37 ---------- | |
38 | |
477 | 39 * Check if we can force the schema that is used. By default, Orthanc |
40 is using the 'public' schema but, after a wrong command, we have seen | |
41 a DB where there was a 'AttachedFiles' table in the public schema and another one in a | |
42 'MyPacs' schema and Orthanc was actually using the 'MyPacs.AttachedFiles' table !!! | |
43 Orthanc was then seeing only the most recent attached files !!! | |
44 | |
473
15e609c439d1
Fixed the MaximumStorageSize & MaximumPatientCount.
Alain Mazy <am@osimis.io>
parents:
445
diff
changeset
|
45 * Have a separate "thread" to UpdateStatistics to avoid large computations ? |
15e609c439d1
Fixed the MaximumStorageSize & MaximumPatientCount.
Alain Mazy <am@osimis.io>
parents:
445
diff
changeset
|
46 |
360 | 47 |
365 | 48 * Seems Orthanc might deadlock when there are plenty of conflicting transactions: |
49 https://groups.google.com/g/orthanc-users/c/xQelEcKqL9U/m/HsvxwlkvAQAJ | |
50 https://groups.google.com/g/orthanc-users/c/1bkClfZ0KBA/m/s4AlwVh3CQAJ | |
196 | 51 |
556 | 52 * use ReadCommited mode by default |
53 * use 40 index connection count by default (not 50 because, by default, PG has 100 connections and we want at least | |
54 a few connections to remain available for sys admins if e.g, 2 Orthanc instances are running on the same server) | |
55 | |
196 | 56 ----- |
57 MySQL | |
58 ----- | |
59 | |
266
cc7af42d4f23
Store revisions for metadata and attachments in PostgreSQL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
259
diff
changeset
|
60 * Store revisions for metadata and attachments in MySQL (this is |
cc7af42d4f23
Store revisions for metadata and attachments in PostgreSQL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
259
diff
changeset
|
61 already implemented in PostgreSQL) |
cc7af42d4f23
Store revisions for metadata and attachments in PostgreSQL
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
259
diff
changeset
|
62 |
196 | 63 * MySQL performance => implement GlobalProperty_GetTotalSizeIsFast: |
64 https://groups.google.com/d/msg/orthanc-users/kSR4a110zDo/D7e4ITR8BwAJ | |
529 | 65 https://discourse.orthanc-server.org/t/when-running-housekeeping-mysqld-exe-searching-and-dicom-transfer-is-slow/4921/9 |
258 | 66 |
67 * Add index to speed up wildcard search, as already done in PostgreSQL: | |
68 | |
69 - https://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html + | |
70 ALTER TABLE table ADD FULLTEXT index_name(column1); | |
71 | |
72 - https://dev.mysql.com/doc/refman/8.0/en/index-btree-hash.html | |
482 | 73 |
74 | |
75 ---- | |
76 ODBC | |
77 ---- | |
78 | |
582 | 79 * Implement labels |