stringtranslate.com

Wikipedia: Solicitar una consulta

  • WP: RAQ
  • WP: CANTERA
  • WP:SQLREQ
  • WP: CONSULTA

Esta es una página para solicitar consultas únicas a la base de datos para ciertos criterios . Los usuarios que estén interesados ​​y sean capaces de realizar consultas SQL en los proyectos pueden proporcionar resultados desde el sitio web de Quarry.

También te puede interesar lo siguiente:

Quarry no tiene acceso al contenido de la página, por lo que las consultas que requieren verificar el wikitexto no se pueden responder con Quarry. Sin embargo, alguien puede ayudar usando Quarry de otra manera (por ejemplo, revisando la tabla de enlaces de categorías en lugar del texto "Categoría:") o sugerir una herramienta alternativa.

Mujeres de rojo

No estoy solicitando exactamente una consulta, pero sí ayuda con una que ya tenemos: Wikipedia:WikiProject_Women_in_Red/Redlinks/C2 . Esta versión se ejecutó en 37 segundos. En algún momento entre el 20 y el 25 de febrero, dejó de funcionar y en su lugar arrojó un error de SQL: ER_DATA_TOO_LONG: Datos demasiado largos para la columna 'subcat' en la fila 2 . Esto se debe a que inicialmente llena una tabla con una fila, un nombre de categoría bastante corto, y luego intenta agregar nombres más largos. Esto solía funcionar, pero algo en la base de datos o en el motor debe haber cambiado, ya que el mismo SQL ahora falla. Lo solucioné sembrando la tabla con un valor ficticio largo que no afecta los resultados, pero esa versión tarda casi dos horas en ejecutarse. ¿Alguien sabe qué cambió? ¿Parte de la próxima "actualización" de enlaces de categorías está causando la falla y arruinando el rendimiento? (Una simple búsqueda de un enlace a los detalles de ese cambio también expiró; tal vez haya un problema de rendimiento temporal más general, pero VPT no tiene nada y el rendimiento fue igual de malo anoche). Certes ( charla ) 15:24, 24 de marzo 2024 (UTC) [ respuesta ]

Investigué un poco esto cuando lo preguntaste por primera vez, y un poco más hoy, y no pude encontrar una versión que evitara un escaneo completo de la tabla en los enlaces de página; tomado de forma aislada, el CTE se completa instantáneamente y puedo haga algo como , pero se me ocurrió cada variante de "pl_title comienza con nombre": nombre = SUBSTRING_INDEX como usó, pl_title LIKE CONCAT (nombre, '%'), LEFT (pl_title, LENGTH (nombre)) = nombre, y así sucesivamente - no estaba indexado. Es por eso que su consulta en su conjunto examina primero toda la página, cuando sospecho que antes pudo hacer uso del límite de rango Cn..D. Es irritante que poner los resultados de CTE directamente en la consulta como quarry:query/81913 funciona , pero no conozco una solución alternativa para forzar el uso del índice cuando no tenemos acceso a la tabla de enlaces de páginas reales, solo una vista. . (Y no, no sé qué cambió).WITH names AS ( /* the long cte */ ) SELECT COUNT(*) FROM names JOIN pagelinks ON pl_namespace = 0 AND pl_title = name GROUP BY name
Algo como sería más limpio que su largo valor ficticio 'Esta categoría no existe pero...', pero obviamente ese no es el verdadero problema aquí.SELECT CAST('Feminine_given_names' AS VARCHAR(256)), 0
¿Qué estás tratando de hacer exactamente? ¿Quizás podamos encontrar otra manera de hacerlo? - Cryptic 17:50, 10 de abril de 2024 (UTC) [ respuesta ]
Estaba enumerando enlaces rojos de uso frecuente que se parecen a nombres de mujeres, para que los editores de Women in Red puedan considerar escribir artículos sobre ellos. Por supuesto, esto es heurístico y contiene falsos positivos como Ms May Rebellion, pero lo encontraron útil y crearon muchos artículos buscados a partir de él. Lo dividí por letra inicial para evitar tiempos de espera al permitir el uso del índice y para evitar abrumar a los autores solicitando cientos de artículos a la vez. Más detalles: Wikipedia: WikiProject Mujeres en rojo/Índice de lista roja#Alfabético (con enlaces rojos más frecuentes) , Charla de usuario:Certes#WIR Problema de lista roja , Charla de usuario:Certes/Archivo 9#Mujeres con enlaces rojos frecuentes . Certes ( charla ) 19:05, 10 de abril de 2024 (UTC) [ respuesta ]
¿WHERE pl_from_namespace IN (0, 10) ... HAVING MAX(pl_from_namespace) = 0 significa solo excluir títulos vinculados de cualquier plantilla? La consulta se completa rápidamente si la primera mitad se cambia a WHERE pl_from_namespace = 0. Explique el resultado de la consulta 81446 tal como está escrito (el optimizador SQL parece ahogarse en las consultas con ctes):
+------+-----------------+---------------+-------- +------------------------------------------------- -----------------------+-----------------+-- -------+---------------------------------+-------- --+----------------------------------------------- ------------+| identificación | seleccionar_tipo | mesa | tipo | claves_posibles | clave | clave_len | árbitro | filas | Adicional |+------+-----------------+---------------+-------- +------------------------------------------------- -----------------------+-----------------+-- -------+---------------------------------+-------- --+----------------------------------------------- ------------+| 1 | PRIMARIA | página | índice | PRIMARIO,nombre_página_título | nombre_página_título | 261 | NULO | 57680411 | Usando dónde; Usando índice; Usando temporal; Usando ordenar archivos || 1 | PRIMARIA | enlaces de páginas | árbitro | PRIMARIO, pl_namespace, pl_backlinks_namespace, pl_backlinks_namespace_target_id | PRIMARIA | 8 | enwiki.page.page_id,const | 4 | Usando donde || 1 | PRIMARIA | <derivado5> | árbitro | clave0 | clave0 | 258 | función | 1 | Usando donde || 1 | PRIMARIA | página | eq_ref | nombre_página_título | nombre_página_título | 261 | const,enwiki.pagelinks.pl_title | 1 | Usando índice || 5 | DERIVADO | <derivado2> | TODOS | NULO | NULO | NULO | NULO | 2 | Usando donde; Usando temporal || 5 | DERIVADO | enlaces de categorías | árbitro | PRIMARIO,cl_timestamp,cl_sortkey | cl_sortkey | 258 | deepcat.subcat,const | 19 | Usando dónde; Usando índice || 5 | DERIVADO | página | eq_ref | PRIMARIO,nombre_página_título | PRIMARIA | 4 | eswiki.categorylinks.cl_from | 1 | Usando donde || 2 | DERIVADO | NULO | NULO | NULO | NULO | NULO | NULO | NULO | No se utilizan tablas || 3 | UNIÓN | NULO | NULO | NULO | NULO | NULO | NULO | NULO | No se utilizan tablas || 4 | UNIÓN RECURSIVA | <derivado2> | TODOS | NULO | NULO | NULO | NULO | 2 | Usando donde || 4 | UNIÓN RECURSIVA | enlaces de categorías | árbitro | PRIMARIO,cl_timestamp,cl_sortkey | cl_sortkey | 258 | deepcat.subcat,const | 19 | Usando donde; Usando índice || 4 | UNIÓN RECURSIVA | página | eq_ref | PRIMARIO,nombre_página_título | PRIMARIA | 4 | eswiki.categorylinks.cl_from | 1 | Usando donde || NULO | RESULTADO DE LA UNIÓN | <unión2,3,4> | TODOS | NULO | NULO | NULO | NULO | NULO | |+------+-----------------+---------------+-------- +------------------------------------------------- -----------------------+-----------------+-- -------+---------------------------------+-------- --+----------------------------------------------- ------------+

y lo mismo para DONDE pl_from_namespace = 0:

+------+-----------------+---------------+-------- +------------------------------------------------- -----------------------+-------------------- ----+---------+---------------------------------+- ---------+---------------------------------------- -------------------+| identificación | seleccionar_tipo | mesa | tipo | claves_posibles | clave | clave_len | árbitro | filas | Adicional |+------+-----------------+---------------+-------- +------------------------------------------------- -----------------------+-------------------- ----+---------+---------------------------------+- ---------+---------------------------------------- -------------------+| 1 | PRIMARIA | enlaces de página | gama | PRIMARIO, pl_namespace, pl_backlinks_namespace, pl_backlinks_namespace_target_id | pl_backlinks_namespace | 265 | NULO | 50732398 | Usando dónde; Usando índice; Usando temporal; Usando ordenar archivos || 1 | PRIMARIA | <derivado5> | árbitro | clave0 | clave0 | 258 | función | 1 | Usando donde || 1 | PRIMARIA | página | eq_ref | nombre_página_título | nombre_página_título | 261 | const,enwiki.pagelinks.pl_title | 1 | Usando índice || 1 | PRIMARIA | página | eq_ref | PRIMARIO,nombre_página_título | PRIMARIA | 4 | eswiki.pagelinks.pl_from | 1 | Usando donde || 5 | DERIVADO | <derivado2> | TODOS | NULO | NULO | NULO | NULO | 2 | Usando donde; Usando temporal || 5 | DERIVADO | enlaces de categorías | árbitro | PRIMARIO,cl_timestamp,cl_sortkey | cl_sortkey | 258 | deepcat.subcat,const | 19 | Usando dónde; Usando índice || 5 | DERIVADO | página | eq_ref | PRIMARIO,nombre_página_título | PRIMARIA | 4 | eswiki.categorylinks.cl_from | 1 | Usando donde || 2 | DERIVADO | NULO | NULO | NULO | NULO | NULO | NULO | NULO | No se utilizan tablas || 3 | UNIÓN | NULO | NULO | NULO | NULO | NULO | NULO | NULO | No se utilizan tablas || 4 | UNIÓN RECURSIVA | <derivado2> | TODOS | NULO | NULO | NULO | NULO | 2 | Usando donde || 4 | UNIÓN RECURSIVA | enlaces de categorías | árbitro | PRIMARIO,cl_timestamp,cl_sortkey | cl_sortkey | 258 | deepcat.subcat,const | 19 | Usando donde; Usando índice || 4 | UNIÓN RECURSIVA | página | eq_ref | PRIMARIO,nombre_página_título | PRIMARIA | 4 | eswiki.categorylinks.cl_from | 1 | Usando donde || NULO | RESULTADO DE LA UNIÓN | <unión2,3,4> | TODOS | NULO | NULO | NULO | NULO | NULO | |+------+-----------------+---------------+-------- +------------------------------------------------- -----------------------+-------------------- ----+---------+---------------------------------+- ---------+---------------------------------------- -------------------+

El primero no parece que vaya a revisar tantas filas más, pero definitivamente está tardando una eternidad y el orden de la tabla tiene menos sentido. - Cryptic 20:03, 10 de abril de 2024 (UTC) [ respuesta ]

quarry:query/81916 si mi lectura de su intención anterior fue correcta. - Cryptic 20:13, 10 de abril de 2024 (UTC) [ respuesta ]
Y quarry:query/81918 es una solución más (ejem) sencilla. - Cryptic 20:29, 10 de abril de 2024 (UTC) [ respuesta ]
 Corregido @ Cryptic : Muchas gracias. Por lo tanto, necesita STRAIGHT_JOIN en lugar de JOIN para forzar el procesamiento de las tablas en el orden sugerido. Lo puse en C2 y funciona, así que actualizaré las otras consultas.
También he ordenado la creación de la tabla como sugieres. Originalmente tenía algo similar, pero lo reemplacé por un error más simple, porque CAST fue el único código que cambié cuando se acabó el tiempo y sospeché que estaba causando el problema, tal vez al hacer que las columnas a unir tuvieran tipos incompatibles. Certes ( charla ) 20:54, 10 de abril de 2024 (UTC) [ respuesta ]
...y sí, TENER es excluir personas en las plantillas, que podrían estar vinculadas desde cientos de artículos solo porque su nombre aparece en un cuadro de navegación. Certes ( charla ) 20:56, 10 de abril de 2024 (UTC) [ respuesta ]
Apostaría dinero a que lo que cambió es que los enlaces de página son cada vez más grandes. El optimizador sobrestimó enormemente el coste de escanearlo, por lo que mirar la página AS Pf se volvió más atractivo. Eliminar el espacio de nombres 10 ayudó no porque la base de datos terriblemente ya no pudiera usar dos rangos separados, sino porque redujo el costo estimado lo suficiente como para escanearlo primero. Lo que me confundió el mes pasado es que pensé que estaba mirando la página AS Pt y que era principalmente el cte el que estaba destinado a reducir el número de filas. - Críptico 21:06, 10 de abril de 2024 (UTC) [ respuesta ]
Eso suena muy plausible. Recuerdo de mis días de escritura de SQL hace décadas que los planes de consulta repentinamente cambiaban del orden deseado a algo inútil cuando cambiaban los tamaños de los datos. Apliqué la solución a informes similares con otras iniciales, volví a ejecutar los dañados y ahora todo está funcionando. Gracias de nuevo. Certes ( charla ) 21:20, 10 de abril de 2024 (UTC) [ respuesta ]
También actualicé el primer capítulo de Hombres de Rojo , aunque actualmente nadie parece interesado en su salida. Hay un biólogo allí con más de 100 enlaces (de artículos reales, no de navegadores) y artículos en francés, alemán y español. Certes ( charla ) 15:21, 11 de abril de 2024 (UTC) [ respuesta ]

@ Cryptic : Así como hicimos que esto funcionara, WMF está a punto de mejorar la tabla de enlaces de página eliminando las columnas útiles. Intenté actualizar una consulta pero, por supuesto, ahora se agota el tiempo de espera . Cualquier ayuda adicional sería muy bienvenida. Certes ( charla ) 20:45, 18 de abril de 2024 (UTC) [ respuesta ]

En Toolforge, obtuve resultados para quarry:query/82121, una actualización sencilla desde 81918 arriba, en 4 segundos, y la consulta de su diferencia en 4 minutos 37. Tenían planes de consulta idénticos, módulo de la unión adicional de 'Esta categoría no no existe...', excepto que las primeras estimaron 1743728 filas de linktarget (índice lt_namespace_title) y la segunda 3057442. Si SDZeroBot se agota, intentaría con un rango de títulos más estrecho. - Cryptic 21:50, 18 de abril de 2024 (UTC) [ respuesta ]
Gracias por investigar. Es posible que podamos completar esta tarea antes de que se eliminen las columnas que necesitamos. Si no, seguiré tu consejo. Certes ( charla ) 15:12, 19 de abril de 2024 (UTC) [ respuesta ]

Redirecciones conectadas a un elemento de Wikidata que apunta a una página de desambiguación

Intenté esto en quarry:query/82243, pero es posible que me haya perdido cosas que lo harían más eficiente. Me pregunto si el tiempo que lleva ejecutarse es simplemente un síntoma de tener que revisar dos categorías muy grandes, o si alguien está al tanto de cosas que podrían mejorarlo. Todo lo mejor :) ‍—‍ un gatito inteligente [ miau ] 18:14, 24 de abril de 2024 (UTC) [ respuesta ]

El GROUP_CONCAT() seguido de FIND_IN_SET() tendrá un rendimiento mucho peor que simplemente unirse a la segunda categoría: cantera:query/82254. - Cryptic 20:10, 24 de abril de 2024 (UTC) [ respuesta ]
¡Ah gracias! No sé por qué no se me ocurrió eso. {{ self-trout }} ‍—‍ un gatito inteligente [ miau ] 20:48, 24 de abril de 2024 (UTC) [ respuesta ]

Busque artículos de la empresa que utilicen el campo Padre y Propietario.

Me pregunto si sería posible buscar artículos que utilicen tanto el campo Padre como el Propietario en el cuadro de información de la empresa. La razón es que he notado que muchos artículos utilizan incorrectamente la plantilla de empresa del cuadro de información para mostrar propiedad de nivel superior. Esto no está permitido según la documentación del cuadro de información. He solucionado esto en la mayoría de las páginas. Sin embargo, hay muchos que no puedo encontrar. Wii nter U 22:45, 27 de abril de 2024 (UTC) [ respuesta ]

@ WiinterU : Quarry no puede hacer eso porque no tiene acceso al wikitexto. Esta búsqueda debería detectar a la mayoría de los infractores, pero contendrá muchos falsos positivos, como artículos con parent= yowner= en diferentes cuadros de información. Certes ( charla ) 08:35, 28 de abril de 2024 (UTC) [ respuesta ]
OK gracias. Wii nter U 12:31, 28 de abril de 2024 (UTC) [ respuesta ]
( editar conflicto ) Ja. Escribí casi lo mismo que Certes, por lo que cederé a su excelente respuesta. – Novem Linguae ( discusión ) 09:05, 28 de abril de 2024 (UTC) [ respuesta ]

Consulta para obtener todos los artículos sin citas en línea

¿Alguien aquí puede ayudarme a escribir una consulta para todos los artículos que no tienen <ref> o {{sfn o {{sfnm o {{harvnb en el código wiki del artículo? Aquí está el contexto de la discusión: User_talk:CactiStaccingCrane#Untagged_unreferenced_articles CactiStaccingCrane ( charla ) 13:41, 4 de mayo de 2024 (UTC) [ respuesta ]

No creo que las apariciones de <ref> estén almacenadas en ninguna tabla a la que Quarry tenga acceso. Certes ( discusión ) 20:09, 4 de mayo de 2024 (UTC) [ respuesta ]
Acordado. Según mi zona de pruebas, las etiquetas de referencia no se colocan en ninguna categoría, por lo que tampoco podemos buscar en la tabla de enlaces de categorías. Los otros que OP mencionó se pueden consultar a través de la tabla de enlaces de plantilla. O, para páginas nuevas, puede usar Special:NewPagesFeed y marcar el filtro para "no tener citas", lo que debería detectar la mayoría de ellas, pero tal vez no todas (no recuerdo cuáles). WP:PETSCAN también podría ser útil ya que creo que te permite buscar por plantillas y/o categorías. OP, ¿en qué dirección te gustaría ir con esto? – Novem Linguae ( discusión ) 20:30, 4 de mayo de 2024 (UTC) [ respuesta ]
También es posible consultar el uso de {{ Reflist }} y similares, aunque muchos artículos usan una etiqueta <references /> simple. Certes ( charla ) 20:43, 4 de mayo de 2024 (UTC) [ respuesta ]
Podríamos generar una lista de páginas sin ningún enlace externo, o sin enlaces externos excepto a sitios específicos como imdb. Funcionalmente es lo mismo: no hay una diferencia real entre una página formalmente no referenciada que tiene el sitio oficial del tema correctamente ubicado en ==Enlaces externos== y una que lo conecta a etiquetas de referencia. - Cryptic 22:10, 4 de mayo de 2024 (UTC) [ respuesta ]
O páginas que no transcluyen nada en la Categoría: árbol de plantillas de citas. Lo cual omitirá los <ref>[external link]</ref> desnudos, por supuesto; Supongo que podríamos mitigarlo excluyendo también las páginas de Categoría: Todos los artículos con URL simples para citas y etiquetando los falsos positivos restantes a medida que se noten. - Cryptic 22:19, 4 de mayo de 2024 (UTC) [ respuesta ]
Estás viendo bastantes páginas. Por ejemplo, hay alrededor de 30.000 con títulos que comienzan con A. [1]. Muchos de ellos tienen una sección de Referencias con citas que parecen plausibles pero sin referencias en línea. Certes ( charla ) 22:56, 4 de mayo de 2024 (UTC) [ respuesta ]
CactiStaccingCrane , me pregunto si sería más fácil comenzar con los 50.000 artículos conocidos que incluyen {{ sin notas al pie }}. Una vez que los editores hayan terminado con ellos, regrese y descubriremos cómo encontrar más. – Jonesey95 ( discusión ) 03:39, 5 de mayo de 2024 (UTC) [ respuesta ]
La discusión vinculada muestra que el usuario original estaba buscando específicamente páginas sin referencia que aún no están etiquetadas. (No puedo imaginar por qué, a menos que la intención sea simplemente etiquetarlos sin buscar fuentes, pero da igual). - Cryptic 07:13, 5 de mayo de 2024 (UTC) [ respuesta ]
Sí, ese es exactamente el punto. Ambos estamos en artículos sin referencia de WP:WikiProject y queremos etiquetar todos los artículos que no tienen citas antes de lanzar otra campaña entre junio y julio. CactiStaccingCrane ( discusión ) 09:09, 5 de mayo de 2024 (UTC) [ respuesta ]