Если вы находитесь на окнах, вам все равно не понадобится колесо! Вы можете напрямую установить пакет, загрузив 32-битный пакет как win32 по этой ссылке [ http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy] , а затем переместить этот загруженный пакет. в текущую директорию cmd, откройте cmd и напишите следующий код pip install numpy-1.13.1+mkl-cp36-cp36m-win32.whl
, затем сделайте то же самое для scipy
Для 64-битной системы вам нужно установить mingw-w64, так как это gcc и компилирует numpy и scipy в качестве предварительно скомпилированного состояния.
В настоящее время он работает нормально с 32-битной версией. Итак, я выбрал пакет win32 для numpy + mkl и scipy в этой ссылке.
Надеюсь, что это работает! Дай попробовать
У меня точно такая же проблема, как и у вас.
Я обнаружил, что когда я делаю УДАЛЕНИЕ, Дерби фактически полностью "читает" файл большого сегмента. Я использую Filemon.exe, чтобы наблюдать, как он работает.
Размер моего файла - 940 МБ, и на удаление одной строки уходит 90 секунд.
Я считаю, что дерби хранит данные таблицы в одном файле внутри. И кое-как ошибка дизайна / реализации, которая заставляет читать все, а не делать это с правильным индексом.
Я делаю пакетное удаление, а не для решения этой проблемы. Переписываю часть своей программы. Это было «где id =?» в автоматической фиксации. Затем я много чего переписываю, и теперь это «где ID IN (?, .......?)» Заключено в транзакцию.
Общее время уменьшилось до 1/1000, чем было раньше.
Я предлагаю что вы можете добавить столбец для «пометить как удаленное» с расписанием, которое выполняет пакетное фактическое удаление.
Вы пробовали увеличить размер страницы своей базы данных ?
Информацию об этом и многом другом можно найти в руководстве Настройка Java DB , которое вы может оказаться полезным.
Насколько я могу судить, Derby будет хранить только большие двоичные объекты, встроенные в другие данные базы данных, , поэтому вы получите большой двоичный объект, разделенный на тонну отдельных БД. файлы страниц. Этот механизм хранения больших двоичных объектов хорош для ACID и хорош для небольших двоичных объектов (скажем, эскизов изображений), но не работает с более крупными объектами. Согласно документации Derby, отключение автоматической фиксации при манипулировании большими двоичными объектами также может улучшить производительность , но это только пока.
Я настоятельно рекомендую вам перейти на H2 или другую СУБД, если важна хорошая производительность на больших BLOB , а BLOB-объекты должны оставаться в пределах БД. Вы можете использовать клиент SQuirrel SQL и его подключаемый модуль DBCopy для прямой миграции между СУБД (вам просто нужно указать его на драйвер JDBC Derby / JavaDB и драйвер H2). Я' Буду рад помочь с этой частью, так как я сделал это сам и не был счастливее.
В противном случае, вы можете переместить большие двоичные объекты из базы данных в файловую систему. Для этого вы должны заменить столбец BLOB в базе данных на размер BLOB (при желании) и местоположение (URI или зависящую от платформы строку файла). При создании нового большого двоичного объекта вы создаете соответствующий файл в файловой системе. Местоположение может быть основано на данном каталоге с добавленным первичным ключом. Например, ваша БД находится в «DBFolder / DBName», а ваши большие двоичные объекты входят в «DBFolder / DBName / Blob» и имеют имя файла «BLOB_PRIMARYKEY.bin» или что-то подобное. Чтобы отредактировать или прочитать BLOB-объекты, вы запрашиваете местоположение в БД, а затем выполняете чтение / запись непосредственно в файл. Затем вы регистрируете новый размер файла в БД, если он изменился.
так как я сделал это сам и не был счастливее.В противном случае вы можете переместить большие двоичные объекты из базы данных в файловую систему. Для этого вы должны заменить столбец BLOB в базе данных на размер BLOB (при желании) и местоположение (URI или зависящую от платформы строку файла). При создании нового большого двоичного объекта вы создаете соответствующий файл в файловой системе. Местоположение может быть основано на данном каталоге с добавленным первичным ключом. Например, ваша БД находится в «DBFolder / DBName», а ваши большие двоичные объекты входят в «DBFolder / DBName / Blob» и имеют имя файла «BLOB_PRIMARYKEY.bin» или что-то подобное. Чтобы отредактировать или прочитать BLOB-объекты, вы запрашиваете местоположение в БД, а затем выполняете чтение / запись непосредственно в файл. Затем вы регистрируете новый размер файла в БД, если он изменился.
так как я сделал это сам и не был счастливее.В противном случае вы можете переместить большие двоичные объекты из базы данных в файловую систему. Для этого вы должны заменить столбец BLOB в базе данных на размер BLOB (при желании) и местоположение (URI или зависящую от платформы строку файла). При создании нового большого двоичного объекта вы создаете соответствующий файл в файловой системе. Местоположение может быть основано на данном каталоге с добавленным первичным ключом. Например, ваша БД находится в «DBFolder / DBName», а ваши большие двоичные объекты входят в «DBFolder / DBName / Blob» и имеют имя файла «BLOB_PRIMARYKEY.bin» или что-то подобное. Чтобы отредактировать или прочитать BLOB-объекты, вы запрашиваете местоположение в БД, а затем выполняете чтение / запись непосредственно в файл. Затем вы регистрируете новый размер файла в БД, если он изменился.
В противном случае вы можете переместить большие двоичные объекты из базы данных в файловую систему. Для этого вы должны заменить столбец BLOB в базе данных на размер BLOB (при желании) и местоположение (URI или зависящую от платформы строку файла). При создании нового большого двоичного объекта вы создаете соответствующий файл в файловой системе. Местоположение может быть основано на данном каталоге с добавленным первичным ключом. Например, ваша БД находится в «DBFolder / DBName», а ваши большие двоичные объекты входят в «DBFolder / DBName / Blob» и имеют имя файла «BLOB_PRIMARYKEY.bin» или что-то подобное. Чтобы отредактировать или прочитать BLOB-объекты, вы запрашиваете местоположение в БД, а затем выполняете чтение / запись непосредственно в файл. Затем вы регистрируете новый размер файла в БД, если он изменился.
В противном случае вы можете переместить большие двоичные объекты из базы данных в файловую систему. Для этого вы должны заменить столбец BLOB в базе данных на размер BLOB (при желании) и местоположение (URI или зависящую от платформы строку файла). При создании нового большого двоичного объекта вы создаете соответствующий файл в файловой системе. Местоположение может быть основано на данном каталоге с добавленным первичным ключом. Например, ваша БД находится в «DBFolder / DBName», а ваши большие двоичные объекты входят в «DBFolder / DBName / Blob» и имеют имя файла «BLOB_PRIMARYKEY.bin» или что-то подобное. Чтобы отредактировать или прочитать BLOB-объекты, вы запрашиваете местоположение в БД, а затем выполняете чтение / запись непосредственно в файл. Затем вы регистрируете новый размер файла в БД, если он изменился.
вы можете переместить большие двоичные объекты из базы данных в файловую систему. Для этого вы должны заменить столбец BLOB в базе данных на размер BLOB (при желании) и местоположение (URI или зависящую от платформы строку файла). При создании нового большого двоичного объекта вы создаете соответствующий файл в файловой системе. Местоположение может быть основано на данном каталоге с добавленным первичным ключом. Например, ваша БД находится в «DBFolder / DBName», а ваши большие двоичные объекты входят в «DBFolder / DBName / Blob» и имеют имя файла «BLOB_PRIMARYKEY.bin» или что-то подобное. Чтобы отредактировать или прочитать BLOB-объекты, вы запрашиваете местоположение в БД, а затем выполняете чтение / запись непосредственно в файл. Затем вы регистрируете новый размер файла в БД, если он изменился. вы можете переместить большие двоичные объекты из базы данных в файловую систему. Для этого вы должны заменить столбец BLOB в базе данных на размер BLOB (при желании) и местоположение (URI или зависящую от платформы строку файла). При создании нового большого двоичного объекта вы создаете соответствующий файл в файловой системе. Местоположение может быть основано на данном каталоге с добавленным первичным ключом. Например, ваша БД находится в «DBFolder / DBName», а ваши большие двоичные объекты входят в «DBFolder / DBName / Blob» и имеют имя файла «BLOB_PRIMARYKEY.bin» или что-то подобное. Чтобы отредактировать или прочитать BLOB-объекты, вы запрашиваете местоположение в БД, а затем выполняете чтение / запись непосредственно в файл. Затем вы регистрируете новый размер файла в БД, если он изменился. вы должны заменить столбец BLOB в базе данных на размер BLOB (при желании) и местоположение (URI или зависящую от платформы строку файла). При создании нового большого двоичного объекта вы создаете соответствующий файл в файловой системе. Местоположение может быть основано на данном каталоге с добавленным первичным ключом. Например, ваша БД находится в «DBFolder / DBName», а ваши большие двоичные объекты входят в «DBFolder / DBName / Blob» и имеют имя файла «BLOB_PRIMARYKEY.bin» или что-то подобное. Чтобы отредактировать или прочитать BLOB-объекты, вы запрашиваете местоположение в БД, а затем выполняете чтение / запись непосредственно в файл. Затем вы регистрируете новый размер файла в БД, если он изменился. вы должны заменить столбец BLOB в базе данных на размер BLOB (при желании) и местоположение (URI или зависящую от платформы строку файла). При создании нового большого двоичного объекта вы создаете соответствующий файл в файловой системе. Местоположение может быть основано на данном каталоге с добавленным первичным ключом. Например, ваша БД находится в «DBFolder / DBName», а ваши большие двоичные объекты входят в «DBFolder / DBName / Blob» и имеют имя файла «BLOB_PRIMARYKEY.bin» или что-то подобное. Чтобы отредактировать или прочитать BLOB-объекты, вы запрашиваете местоположение в БД, а затем выполняете чтение / запись непосредственно в файл. Затем вы регистрируете новый размер файла в БД, если он изменился. с добавленным первичным ключом. Например, ваша БД находится в «DBFolder / DBName», а ваши большие двоичные объекты входят в «DBFolder / DBName / Blob» и имеют имя файла «BLOB_PRIMARYKEY.bin» или что-то подобное. Чтобы отредактировать или прочитать BLOB-объекты, вы запрашиваете местоположение в БД, а затем выполняете чтение / запись непосредственно в файл. Затем вы регистрируете новый размер файла в БД, если он изменился. с добавленным первичным ключом. Например, ваша БД находится в «DBFolder / DBName», а ваши большие двоичные объекты входят в «DBFolder / DBName / Blob» и имеют имя файла «BLOB_PRIMARYKEY.bin» или что-то подобное. Чтобы отредактировать или прочитать BLOB-объекты, вы запрашиваете местоположение в БД, а затем выполняете чтение / запись непосредственно в файл. Затем вы регистрируете новый размер файла в БД, если он изменился.Я уверен, что это не тот ответ, который вам нужен, но для производственной среды с требованиями к пропускной способности я бы не стал использовать Java DB. MySQL так же бесплатен и намного лучше справится с вашими требованиями. Я думаю, что вы действительно просто бьетесь головой об ограничении выбранного вами решения.
Я обычно использую Derby только в качестве тестового примера, и особенно только тогда, когда вся моя БД может легко поместиться в памяти. YMMV.