Вы можете использовать GROUP BY и SUM для получения суммы для каждого адресата:
SELECT SUM(total) as total
FROM table2
WHERE destination IN ('Washington','Hawaii','Budapest')
AND invoice_no LIKE '%$invno%'
GROUP BY destination
Таким образом, БД не нужно помнить весь набор данных, просто сгруппированный по сумме, который в этом case is max 3 results (это не на 100% точнее, но достаточно на данный момент).
У вас также есть IN (), который дополнительно уменьшает набор данных, IN () намного быстрее, чем LIKE.
Если у вас нет указателя на «пункт назначения» (или другой столбец с разными значениями, которые вы используете в запросах): Добавьте на него индекс. Это улучшит время поиска.
Вы должны иметь возможность просто обойтись с SimpleITK. Вы должны сделать что-то вроде этого:
import SimpleITK as sitk
img = sitk.ReadImage("input.mhd")
sitk.WriteImage("output.nii")
Если у вас нет SimpleITK в Python, установите его следующим образом: pip install SimpleITK
SimpleITK делает все возможное, чтобы сохранить всю информацию заголовка хотя это не идеально. Надеемся, что размеры вокселей будут сохранены.