我会解释我在做什么。
我需要验证具有受限数据的文件,其中包含超过100k行,每行包含120个字段,每个字段都根据定义的格式进行自己的验证,例如“COD234-ES”以及其他不同的格式,
我需要将这些数据从SQL SERVER 2008中的数据库插入到表中,但在插入之前,必须验证此数据。
必须通过PHP框架中的Web界面从客户端上传此文件。
我在性能和效率方面的问题,这是最好的做法吗?
首先在客户端验证然后上传,首先上传到服务器,然后使用PHP验证或将批量插入上传到数据库,然后使用transact -sql进行验证?
通过许多验证,我认为使用REGEX表达式,但在SQL中是
我很感激谁可以指导我以最好的方式做到这一点。非常感谢
答案 0 :(得分:1)
您希望尽早验证。
如果您可以在客户端上进行验证,请始终这样做,因为它将节省客户端网络带宽以及服务器负载。您可能拥有比服务器更多的客户端。
如果您可以在PHP中验证,那比数据库更好,因为通常更容易将负载分散到多个Web服务器并保留单个数据库,而不是将数据库分散到多个服务器上。
答案 1 :(得分:1)
简单的答案是,您必须在客户端和服务器上进行验证
在客户端,因为上传大量数据对用户不友好,所以得到错误消息。
但是,你需要在服务器上重新验证,因为邪恶的人(或自动上传界面)可以规避你的客户端测试,故意或愚蠢地引入垃圾或恶意数据。
答案 2 :(得分:0)
同意rjmunro和Quandary,在客户端和服务器端验证您的数据。使用transact-sql重新验证(或仅在测试阶段)并不是很有用,但是在创建表时可以进行约束检查。