Кроме того, драйвер mySQL JDBC был отполирован в течение длительного периода времени и имеет несколько оптимизационных твиков, таких как кеширование метаданных. Я был бы удивлен тем, что разработчики JDBC оставили бы много издержек TCP/IP в драйвере.
Переход на JNI на реализацию на основе C, вероятно, будет стоить дороже, если вы перейдете на собственный код, чем это может быть достигнуто за счет сокращения расходов на TCP/IP.
Если вы действительно хотите вырезать служебные данные TCP/IP, вы можете использовать встроенную базу данных, такую как sqlite, derby или гиперзвуковое.
Возможно, вы захотите перенести MySQL C API http://dev.mysql.com/doc/refman/5.0/en/c.html на Java с помощью Swig http://www.swig.org/. Если у вас есть время, и если все это стоит :) – Joset
Я думаю, что вы придерживаетесь того же подхода, что и я, если вы не хотите, чтобы сервер mysql подвергался воздействию Интернета ... используйте iptables и т. Д. заблокировать порт, но локальные приложения все равно могут получить доступ к брандмауэру. – ppostma1
Я думаю, что оригинальным плакатом был разъем JDBC MySQL, который мог бы использовать локальный unix-сокет вместо TCP. Как отмечали другие, стандартный соединитель JDBC делает много умных вещей, и если вы не подтвердили, что сетевое соединение является узким местом, вы рискуете преждевременной оптимизацией. Я не вижу стандартного способа использования сокетов в соединителе JDBC MySQL для этого. – mdoar