teoricamente mariadb es mejor que mysql, evoluciona más rápido.MySQL fue
comprada por Oracle y a si el uso de la BD es comercial tienes que pagar
licencia, lo que no ocurre con mariadb.Otras opciones son postgresql (alta
escalabilidad) modelo objeto-relacional, objeto no obligatorio o firebird, muy
simple de instalar.Saludos: Miguel, Santa Rosa (LP)
El Jueves, 27 de octubre, 2016 16:18:50, Norberto Mario Alvarez
<[email protected]> escribió:
<!--#yiv6228512334 _filtered #yiv6228512334 {font-family:Helvetica;panose-1:2
11 6 4 2 2 2 2 2 4;} _filtered #yiv6228512334 {font-family:"Cambria
Math";panose-1:2 4 5 3 5 4 6 3 2 4;} _filtered #yiv6228512334
{font-family:Calibri;panose-1:2 15 5 2 2 2 4 3 2 4;} _filtered #yiv6228512334
{font-family:Tahoma;panose-1:2 11 6 4 3 5 4 4 2 4;} _filtered #yiv6228512334
{font-family:Verdana;panose-1:2 11 6 4 3 5 4 4 2 4;}#yiv6228512334
#yiv6228512334 p.yiv6228512334MsoNormal, #yiv6228512334
li.yiv6228512334MsoNormal, #yiv6228512334 div.yiv6228512334MsoNormal
{margin:0cm;margin-bottom:.0001pt;font-size:12.0pt;font-family:"Times New
Roman", "serif";}#yiv6228512334 a:link, #yiv6228512334
span.yiv6228512334MsoHyperlink
{color:blue;text-decoration:underline;}#yiv6228512334 a:visited, #yiv6228512334
span.yiv6228512334MsoHyperlinkFollowed
{color:purple;text-decoration:underline;}#yiv6228512334 p
{margin-right:0cm;margin-left:0cm;font-size:12.0pt;font-family:"Times New
Roman", "serif";}#yiv6228512334 p.yiv6228512334MsoAcetate, #yiv6228512334
li.yiv6228512334MsoAcetate, #yiv6228512334 div.yiv6228512334MsoAcetate
{margin:0cm;margin-bottom:.0001pt;font-size:8.0pt;font-family:"Tahoma",
"sans-serif";}#yiv6228512334 p.yiv6228512334msoacetate, #yiv6228512334
li.yiv6228512334msoacetate, #yiv6228512334 div.yiv6228512334msoacetate
{margin-right:0cm;margin-left:0cm;font-size:12.0pt;font-family:"Times New
Roman", "serif";}#yiv6228512334 p.yiv6228512334msonormal, #yiv6228512334
li.yiv6228512334msonormal, #yiv6228512334 div.yiv6228512334msonormal
{margin-right:0cm;margin-left:0cm;font-size:12.0pt;font-family:"Times New
Roman", "serif";}#yiv6228512334 p.yiv6228512334msochpdefault, #yiv6228512334
li.yiv6228512334msochpdefault, #yiv6228512334 div.yiv6228512334msochpdefault
{margin-right:0cm;margin-left:0cm;font-size:12.0pt;font-family:"Times New
Roman", "serif";}#yiv6228512334 span.yiv6228512334msohyperlink {}#yiv6228512334
span.yiv6228512334msohyperlinkfollowed {}#yiv6228512334
span.yiv6228512334textodeglobocar {}#yiv6228512334
span.yiv6228512334estilocorreo20 {}#yiv6228512334 p.yiv6228512334msonormal1,
#yiv6228512334 li.yiv6228512334msonormal1, #yiv6228512334
div.yiv6228512334msonormal1
{margin:0cm;margin-bottom:.0001pt;font-size:12.0pt;font-family:"Times New
Roman", "serif";}#yiv6228512334 span.yiv6228512334msohyperlink1
{color:blue;text-decoration:underline;}#yiv6228512334
span.yiv6228512334msohyperlinkfollowed1
{color:purple;text-decoration:underline;}#yiv6228512334
p.yiv6228512334msoacetate1, #yiv6228512334 li.yiv6228512334msoacetate1,
#yiv6228512334 div.yiv6228512334msoacetate1
{margin:0cm;margin-bottom:.0001pt;font-size:8.0pt;font-family:"Tahoma",
"sans-serif";}#yiv6228512334 span.yiv6228512334textodeglobocar1
{font-family:"Tahoma", "sans-serif";}#yiv6228512334
span.yiv6228512334estilocorreo201 {font-family:"Calibri",
"sans-serif";color:#1F497D;}#yiv6228512334 p.yiv6228512334msochpdefault1,
#yiv6228512334 li.yiv6228512334msochpdefault1, #yiv6228512334
div.yiv6228512334msochpdefault1
{margin-right:0cm;margin-left:0cm;font-size:10.0pt;font-family:"Times New
Roman", "serif";}#yiv6228512334 span.yiv6228512334TextodegloboCar
{font-family:"Tahoma", "sans-serif";}#yiv6228512334
span.yiv6228512334EstiloCorreo34 {font-family:"Calibri",
"sans-serif";color:#1F497D;}#yiv6228512334 .yiv6228512334MsoChpDefault
{font-size:10.0pt;} _filtered #yiv6228512334 {margin:70.85pt 3.0cm 70.85pt
3.0cm;}#yiv6228512334 div.yiv6228512334WordSection1 {}-->Desde Ya Muchas
Gracias, voy a tomar en cuenta estas recomendaciones y chequear todo lo
expuesto. Por otro Lado de a poco y con paciencia voy a migrar a MySQL que
tengo entendido, que es una BD muy rápida y compatible con MariaDB, de la cual
me hablaron maravillas. Se que es un largo camino, pero mucho mas seguro. Desde
ya muchas gracias!!! Norberto AlvarezSocio # 1882 De: [email protected]
[mailto:[email protected]] En nombre de Carlos Miguel FARIAS
Enviado el: jueves, 27 de octubre de 2016 15:37
Para: GUFA List Member
Asunto: [GUFA] Velocidad Tablas Nativas Para tablas, si no se cambian mucho
(sean grandes o chicas), lo mejor es copiar local y acceder localmente.Evitas
cargar la red (primer cuello de botella) y no hay necesidad de compartir, por
lo que solo tienes que poner un testigo accesible en el servidor para que desde
los clientes pueda consultarse periódicamente y si una de las tablas estáticas
cambió, disparas un proceso de actualización a donde corresponda (podes copiar
desde dentro del mismo fox).Si accedes con seek y found, tendrás un esquema más
o menos como: lnAreaPrevia = SELECT(0) && guardas donde estabasSELECT
tablaDondeBuscaslnOrdenPrevio = ORDER() && guardas que orden tenía la tabla
donde buscarasSET ORDER TO TAG xDondeBuscasSEEK tuValorClaveIF FOUND() *
transferencia de datos, procesos asociados, lo que se necesiteELSE *
procedimiento que no encontrado, blanqueo de campos o mensajes, lo que
deENDIFSET ORDER TO lnOrdenPrevio && dejas la tabla accedida con el orden que
teníaSELECT (lnAreaPrevia) && vuelves a la tabla donde empezastes Con el
código anterior se usaron 8 instrucciones para la tarea, lo puedes acelerar
con: IF SEEK(tuValorClave, 'tablaDondeBuscas', 'xDondeBuscas') *
transferencia de datos, procesos asociados, lo que se necesite NOTE que en
este caso, hay que agregar el nombre de la tabla donde se busco cuando se
referencian sus campos. ELSE * procedimiento que no encontrado, blanqueo de
campos o mensajes, lo que deENDIF Como se puede ver, se pasaron de 8
instrucciones a 1, por más que fox sea rápido, las instrucciones tienen que ser
interpretadas por el runtime, 1 a 1, si además este proceso lo tienes dentro de
un bucle, podrás ver que se dispara la cantidad de instrucciones que se
hacen.Otra cosa a analizar es como usas los índices. Si usas select de sql, los
índices tienen que estar desactivados, si no, es más lento aunque el índice
activo sea el correcto. (Fox recupera los datos usando el índice activo), y por
el tipo de consulta, será más rápido traer los datos en orden físico.Otra cosa
a revisar son que tipos de indices utilizas, y si son claves compuestas, como
las armas.Saludos: Miguel, Santa Rosa (LP) El Jueves, 27 de octubre, 2016
14:18:45, Norberto Mario Alvarez <[email protected]> escribió: Gracias
por las respuestas. Para Guardar uso =TABLEUPDATE(.T.) para el caso de un
registro y para el caso de varios registros =TABLEUPDATE(2,.T.) Para tablas
Indexadas use el SEEK y el IF FOUND() Y para tablas muy pequeñas y en búsqueda
el LOCATE Comunmente los índices siempre están activados cuando guardo
registros. Norberto AlvarezSocio # 1882 De: [email protected]
[mailto:[email protected]] En nombre de Carlos Miguel FARIAS
Enviado el: jueves, 27 de octubre de 2016 11:50
Para: GUFA List Member
Asunto: [GUFA] Velocidad Tablas Nativas Que comando usas para actualizar los
datos?gather, replace, replace for, update where?Como accedes a los datos?seek,
locate, seek(), find y found()? y luego Scatter?O usas SELECT INTO Cursor, y de
allí algo para actualizar?Que tipo de índices tienes para acceder a los datos,
tienes indices sobre los campos de acceso (supongo no faltan las PK) o de
filtro?Si usas y Cuando usas comandos SQL, tienes los índices activados?Son
elementos a tener en cuenta cuando hay cuellos de botella en el acceso a datos,
además de lo que indicó José que es importantisimo.Saludos: Miguel, Santa Rosa
(LP) El Jueves, 27 de octubre, 2016 11:02:27, Jose Paez <[email protected]>
escribió: Hola Norberto Sugiero que pruebes agregando un archivo Config.fpw al
proyecto, configurando el "path" a una carpeta temporal (existente) del puesto
de trabajo. TMPFILES path EDITWORK path SORTWORK path PROGWORK path Saludos
José Paez De: [email protected] <[email protected]> en nombre de Norberto Mario
Alvarez <[email protected]>
Enviado: jueves, 27 de octubre de 2016 12:02 p. m.
Para: GUFA List Member
Asunto: [GUFA] Velocidad Tablas Nativas Estimados Colisteros, estoy
necesitando un consejo por parte de Uds. Resulta que en un Cliente, debido al
crecimiento de equipos a un servidor y al mismo tiempo, aumentó la concurrencia
a este, se esta notando que cada vez mas lento, se torna el Sistema. Esto me
implica, quejas, etc, etc.. Como comentario adicional, les cuento que abro la
base de datos en el momento que se ejecuta el sistema y que en cada formulario,
no uso el Entorno de datos, sino, que en el Load de cada formulario, abro las
tablas que voy a necesitar en el mismo u las cierro en el momento que salgo del
formulario (unload). Cuando baja la concurrencia al sistema, mejora muchísimo
la velocidad del acceso. En muchos procesos utilizo cursores, creados al
ejecutar el mismo, sobre todos para generar búsquedas rápidas. Pero donde
encuentro el mayor de las caídas es cuando guardo registros en tres o cuatro
tablas al mismo tiempo, es impresionante la demora. Bueno estoy apelando a
vuestras experiencias, consejos y sugerencias. Desde ya muchas gracias por
vuestra atención. Norberto AlvarezSocio # 1882